
| auteur : neguib |
La propriété
DataGrid.BindingContext
permet d'accéder à l'indexeur de l'objet BindingManagerBase sous-jascent. Et par là même, permet d'atteindre sa propriété BindingManagerBase.Count.
Pour la démonstration, nous implémentons notre propre classe
MonDataGrid
dérivée de DataGrid.
public class MonDataGrid : DataGrid
{
public int DataRowsCount
{ get { return this . currentDataRowsCount; } }
private int currentDataRowsCount;
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);
}
}
|
Utilisable par exemple ainsi sur une modification DataGrid.DataSource :
using System. Text;
private void DataGrid1DataSourceChanged (object sender, EventArgs e)
{
StringBuilder sb = new StringBuilder (" Le nombre de lignes est de: " );
sb. Append (((MonDataGrid)sender). DataRowsCount. ToString ());
this . LComment. Text = sb. ToString ();
}
|
Cet exemple peut bien évidemment être amélioré, si l'on souhaite également répercuter de façon dynamique des ajouts ou suppressions de lignes.
|
Consultez les autres F.A.Q's
Les sources présentés sur cette page sont libres de droits,
et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs.
Copyright ©2010
Developpez LLC. Tous droits réservés Developpez LLC.
Aucune reproduction, même partielle, ne peut être faite de ce site et de
l'ensemble de son contenu : textes, documents et images sans l'autorisation
expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans
de prison et jusqu'à 300 000 E de dommages et intérêts.
Cette page est déposée à la SACD.
|