Julio 31

2017

Conocer el numero de filas o registros dentro de un DataGrid

En alguna ocasión tendrás un DataGrid  y necesitas conocer el numero de registros que contiene. Si utilizas el control DataGridView, este tiene directamente la propiedad Rows.Count, pero el DataGrid no la tiene, por lo que para conocer el numero de filas que tiene tenemos que invocar a su BindingContext.

Esto mismo se puede hacer con un DataGridView, y no lo he probado, pero imagino que lo podrás utilizar con cualquier control que se enlace a datos y no tenga una propiedad directa para conocer el numero de registros que contiene.

    /// <summary>
/// Get the rows in the DataGrid
/// </summary>
/// <param name="sender">Control sended</param>
/// <returns></returns>
public static int GetDataGridRows(object sender)
{
int count = -1; //count exact rows in the datagrid
try
{
switch (Utils.GetTipo(sender))
{
case "DataGridView":
count = ((DataGridView)sender).BindingContext[((DataGridView)sender).DataSource, ((DataGridView)sender).DataMember].Count;
break;
case "DataGrid":
count = ((DataGrid)sender).BindingContext[((DataGrid)sender).DataSource, ((DataGrid)sender).DataMember].Count;
break;
default:
count = -1;
break;
}
}
catch
{
count = -1;
}
return count;
}

Happy Coding

#trucos #CSHARP #windowsforms


0 Comentarios



Archivo