| Uutiset | Koodikirjasto | Wiki | Keskustelut | FAQ | Info |
CurrentRow DataGridissäJari_Kettunen 17.11.05 19:17 DataGrideissä ei ole implemetoitu metodia jolla taulukon gridissä valittu rivi on joten sen voi tehdä seuraavasti
//Tehdään ensin globaali luokka ja static metodi niin ei tarvita instanssia //luokassa on on funktio jolle menee parametrina gridi //web sovelluksissa DataGridView pitänee vaihtaa DataGrid:si ja using lause System.Web using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Windows.Forms; namespace xyz { public class Global { public Global() { } public static DataRow CurrentRow(DataGridView aGrid) { CurrencyManager xCM = (CurrencyManager)aGrid.BindingContext[aGrid.DataSource, aGrid.DataMember]; DataRowView xDRV = (DataRowView)xCM.Current; return xDRV.Row; } } } ja käytetään vaikka seuraavasti using xyz ... private void gAsetukset_RowEnter(object sender, DataGridViewCellEventArgs e) { DataRow xRow = Global.CurrentRow(gAsetukset); MessageBox.Show(xRow["Avain"].ToString()); } //Korjaus tosin Net 2.0 versiossa jo löytyy CurrentRow ja seuraava toimii jo lennosta. private void gAsetukset_RowEnter(object sender, DataGridViewCellEventArgs e) { DataGridViewRow xRow = gAsetukset.CurrentRow; if (xRow != null) MessageBox.Show(xRow.Cells[0].Value.ToString()); } weicco 12:16 18.11.05 DataGrid esittää DataSourcen sisällön, jolloin voit kysyä nykyistä riviä tyyliin: string[] names = new string[] { "foo", "bar" }; dataGrid1.DataSource = names; string name = (string)BindingContext[names, ""].Current; |
![]() Haku
|