Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: MySQL:stä dataGridViewiin C#:lla

ekke [07.07.2006 22:53:51]

#

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).

WinC [08.07.2006 11:41:29]

#

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());
}

ekke [25.07.2006 14:52:42]

#

Mitä tarkoitin, on että pitää saada valitun rivin ensimäinen sarakkeen arvo ilmestyy Label-komponettiin. Onko mahdollista?

WinC [25.07.2006 23:23:34]

#

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ä.

ekke [25.07.2006 23:29:42]

#

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?

WinC [25.07.2006 23:37:55]

#

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.

ekke [26.07.2006 14:10:03]

#

Kiitos, nyt toimii!

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta