Ich habe eine DataGridView, die MultiSelect = True hat. Nachdem der Benutzer verschiedene Zellen aus verschiedenen Zeilen auswählt, wie kann ich den Wert aller ausgewählten Zellen erhalten?Wie kann ich den Wert aller ausgewählten Zellen in einem DataGridView abrufen?
Antwort
Sie können über SelectedCells iterieren.
foreach (DataGridViewCell cell in dataGridView1.SelectedCells)
{
MessageBox.Show(cell.Value.ToString());
}
Sie fragte nur für den Wert, aber Sie wollen wahrscheinlich auch die Zeile und die Spalte der Zelle wissen, sonst könnte der Wert bedeutungslos. Sie können diese auch auf das Zellobjekt zugreifen.
foreach -
DataGrid.SelectedCells
Mehr Infos auf der selectedCells Immobilie kann bei http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.selectedcells.aspx
gefunden werden Die selectedCells Sammlung mit großer Auswahl in Datagridview ineffizient ist. Es gibt eine Methode, mit der Sie die Anzahl der ausgewählten Zellen ermitteln können. basierend darauf iterieren und es wird schneller sein.
for (int i = 0; i < grid.GetCellCount(System.Windows.Forms.DataGridViewElementStates.Selected); i++)
{
string val = grid.SelectedCells[i].Value;
}
Kannst du ein Beispiel für das für jeden schreiben? –
Codebeispiel für Sie hinzugefügt. Sehen Sie sich die GetCellCount-Methode an. Es wird wichtig sein zu wissen. –
Ein DataGrid (in Ihrem Fragetext erwähnt) ist nicht dasselbe wie ein DataGridView (in Titel und Tags). –
Wahr ... Mein Schlechter. Ich habe es gerade bearbeitet .. –