jeśli dodajesz wiersz do DataTable
DataRow row = datatable1.NewRow();
row["column2"]="column2";
row["column6"]="column6";
datatable1.Rows.Add(row);
Co powiesz na to DataGridView
?
c#
winforms
datagridview
row
LK Yeung
źródło
źródło
datagridview1.DataSource = yourDataTable
Odpowiedzi:
Możesz to zrobić:
lub:
Inny sposób:
Od: http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.rows.aspx
źródło
RowTemplate
zDataGridView
. Staje się to większym problemem, gdy masz różne style w różnych wierszach wDataGridView
.Lubię to:
źródło
Powiedzmy, że masz datagridview, który nie jest powiązany z zestawem danych i chcesz programowo wypełnić nowe wiersze ...
Oto jak to robisz.
źródło
datagridview.Columns.Add("columnname")
, nie potrzebuje DataTable i kończy się uśmiechemLubię to:
Lub musisz ustawić tam wartości indywidualnie, użyj właściwości
.Rows()
, na przykład:źródło
dataGridView1.Rows[1].Cells[0].Value = "cell value"
;Dodanie nowego wiersza w DGV bez wierszy za pomocą Add () wywołuje zdarzenie SelectionChanged , zanim będzie można wstawić jakiekolwiek dane (lub powiązać obiekt we właściwości Tag).
Tworzenie wiersza klonowania z RowTemplate jest bezpieczniejsze imho :
źródło
W ten sposób dodaję wiersz, jeśli dgrview jest pusty: (myDataGridView ma dwie kolumny w moim przykładzie)
Zgodnie z dokumentacją: „CreateCells () czyści istniejące komórki i ustawia ich szablon zgodnie z dostarczonym szablonem DataGridView”.
źródło
Jeśli siatka jest powiązana z DataSet / tabelą, lepiej jest użyć BindingSource, takiego jak
źródło
tutaj jest inny sposób, aby to zrobić
źródło
Jeśli potrzebujesz manipulować czymkolwiek poza ciągiem wartości komórki, na przykład dodając tag, spróbuj tego:
źródło
możesz również utworzyć nowy wiersz, a następnie dodać go do DataGridView w następujący sposób:
źródło
Jeśli wiążesz Listę
Jeśli wiążesz DataTable
źródło
Przykład kopiowania wiersza z dataGridView i dodania nowego wiersza w tym samym dataGridView:
źródło
źródło
źródło
Jeśli już zdefiniowałeś a
DataSource
, możesz pobraćDataGridView
´sDataSource
i rzucić go jakoDatatable
.Następnie dodaj nowy
DataRow
i ustaw wartości pól.Dodaj nowy wiersz do
DataTable
i zaakceptuj zmiany.W C # byłoby to coś takiego ...
źródło
Rozważ aplikację systemu Windows i za pomocą zdarzenia kliknięcia przycisku umieść w niej ten kod.
źródło
Ale pamiętaj,
WhichIsType
jest to metoda rozszerzenia, którą stworzyłem.źródło