Obtener el número de línea de un DataGrid mediante su BindingContext
Artículo por Club Developers · 28 agosto 2006
4244 vistas
La propiedad DataGrid.BindingContext permite acceder al indexador del objeto BindingManagerBase subyacente y, por lo tanto, acceder a su propiedad BindingManagerBase.Count.
Para ver un ejemplo, vamos a implementar nuestra propia clase MiDataGrid derivada de DataGrid.
Y podemos usarlo de la forma siguiente:
Para ver un ejemplo, vamos a implementar nuestra propia clase MiDataGrid derivada de DataGrid.
csharp
//... public class MonDataGrid : DataGrid { //... // proppiedad pública que tendrá el número de líneas public int DataRowsCount { get{ return this.currentDataRowsCount;}} private int currentDataRowsCount; // sobrecarga de MyBase.OnDataSourceChanged protected override void OnDataSourceChanged(System.EventArgs e) { if(this.DataSource!=null) { this.currentDataRowsCount = this.BindingContext[this.DataSource, this.DataMember].Count;} else { this.currentDataRowsCount = 0;} base.OnDataSourceChanged(e); } }
Y podemos usarlo de la forma siguiente:
csharp
using System.Text; //... private void DataGrid1DataSourceChanged(object sender, EventArgs e) { sb.Append(((MonDataGrid)sender).DataRowsCount.ToString()); this.LComment.Text = sb.ToString(); }