2010-12-22 14 views
0

Ich habe eine DataGridView, die Werte aus der DB nimmt. Jetzt möchte ich nur die ausgewählten Elemente drucken, die der Benutzer auf der Benutzeroberfläche ausgewählt hat. Folgendes habe ich getan, wenn der Benutzer die gesamte Tabelle in DataGridView ausdrucken möchte:Wie Sie ausgewählte Elemente in DataGridView als DataTable erhalten?

var dataTable = dataGridView1.DataSource als DataTable;

Jetzt versuche ich die SelectedCells-Eigenschaft in DataGridView zu verwenden. Cant bekommt es aber :-(

var SelectedItems = dataGridView1.SelectedCells als Datentabelle;

Was ich hier falsch mache Alles, was ich will, ist meine ausgewählten Zellen in eine setzen? Datatable.

Antwort

0

DataGridView.SelectedCells liefert Ihnen eine Sammlung, nicht eine Datatable leider.

Wenn Sie Ausgabe als wollen DataTable, könnten Sie die Struktur der Tabelle klonen. Führen Sie dann eine Iteration durch die SelectedCells-Auflistung durch.

Etwas wie:

DataTable selected = dataTable.Clone(); 
for (int i = 0; i < dataGridView.SelectedCells.Count; i++) 
{ 
    DataRow newRow = selected.NewRow(); 
    // may have to format below value 
    datarow["column"] = dataGridView.SelectedCells[i]; 
    selected.Rows.Add(newRow); 
} 
0

Shoudnt die zweite letzte Zeile so etwas wie dieses:

newRow [ "Spalte"] = dataGridView.SelectedCells [i];

Verwandte Themen