Voin lukea tiedot MySQL-taulukkosta dataGridView-komponenttiin.
Mutta ongelma on seuraava, jos valitsen joku rivi dataGridView:ssa ja sitten painan nappi, miten saan rivin nimi ilmestyy vaikka Label komponenttiin?
Käytän tällä hetkellä Visual Studio 2005 ja C#(sharp).
Seuraava koodi hakee ensin ValittujenRivinMaara muuttujaan datagridistä valittujen rivien määrän ja käy valitut rivit sen jälkeen läpi näyttäen jokaisen valitun rivin kakkos sarakkeen tiedot messageboxilla.
Int32 ValittujenRivienMaara = DataGrid.Rows.GetRowCount(DataGridViewElementStates.Selected); for (int i = 0; i < ValittujenRivienMaara; i++) { MessageBox.Show(DataGrid.SelectedRows[i].Cells[1].Value.ToString()); }
Mitä tarkoitin, on että pitää saada valitun rivin ensimäinen sarakkeen arvo ilmestyy Label-komponettiin. Onko mahdollista?
Valitaan ensimmäinen valittu rivi ja sen ensimmäisen solun arvo.
textBox1.Text = DataGrid.SelectedRows[0].Cells[0].Value.ToString();
Ja tietysti normaalit tarkistukset siitä, että rivi/rivejä on valittu, kuten edellisessä esimerkissä.
Saan seuraava virheilmoitus
An unhandled exception of type 'System.ArgumentOutOfRangeException' occurred in mscorlib.dll
Additional information: Index was out of range. Must be non-negative and less than the size of the collection.
Mitä tämä tarkoittaa?
Lisäsin tuohon äsken tuon viimeisen lauseen, eli meinaa sitä että yhtään riviä ei ollut valittuna. Laita se muotoon.
Int32 ValittujenRivienMaara = DataGrid.Rows.GetRowCount(DataGridViewElementStates.Selected); for (int i = 0; i < ValittujenRivienMaara; i++) { textBox1.Text = DataGrid.SelectedRows[i].Cells[0].Value.ToString(); }
EDIT: Mikäli multiselection on sallittu, antaa yllä oleva koodi SelectedRow listassa viimeisenä olevan rivin tiedot teksti kenttään.
Kiitos, nyt toimii!
Aihe on jo aika vanha, joten et voi enää vastata siihen.