Chciałbym, aby generowanie kolejnego pustego rowa w dataGridView w runetimie formatka tworzyło w 3 .kolumnie obiekt typu checkBox. Jak moge to wprowadzić do życia?
- Dodać obsługę zdarzenia RowsAdded;
- W metodzie obsługującej to zdarzenie utworzyć obiekt typu "DataGridViewCheckBoxCell";
- Przypisać go do dataGridView.Rows[indeks dodanego wiersza].Cells[indeks wybranej kolumny].
thx
a jak sie odwołac do dodanego wiersza? jest wlasciwosc kontolujaca to, czy musze sam sie o to zatroszczyc zmiennymi pomocniczymi?
private void CreateTable_Load(object sender, EventArgs e)
{
dataGridView1.Columns.Add("Column1", "Column name");
dataGridView1.Columns.Add("Column2", "Data type");
dataGridView1.Columns.Add("Column3", "Allow null");
}
private void dataGridView1_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e)
{
DataGridViewCheckBoxCell checkboxCell = new DataGridViewCheckBoxCell();
if (dataGridView1.Columns.Count == 1) return;
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells[2] = checkboxCell;
}
Jak napisać tą metodę, aby osbługiwała automatyczne tworzenie 1 row'a oraz manualne tworzenie następnych?
Utwórz sobie całą kolumnę na check-box'y:
http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewcheckboxcolumn.aspx
flexiblee napisał(a)
a jak sie odwołac do dodanego wiersza? jest wlasciwosc kontolujaca to, czy musze sam sie o to zatroszczyc zmiennymi pomocniczymi?
DataGridViewRowsAddedEventArgs.RowIndex
Ale jeśli chcesz mieć całą kolumnę z checkboxami, to zrób to, co podpowiedział adf88.
somekind napisał(a)
flexiblee napisał(a)
a jak sie odwołac do dodanego wiersza? jest wlasciwosc kontolujaca to, czy musze sam sie o to zatroszczyc zmiennymi pomocniczymi?
DataGridViewRowsAddedEventArgs.RowIndex
Trzeba skorzystać z tej własności parametru "e" czyli
e.RowIndex
dzięki, a macie może jakis tutorial na temat dataGridView? np cos w stylu msdna do wyrduku, badz jakis pdf
Tutaj są tutoriale.
hehe, szukałem, większość omawia pobieżnie metody i zdarzenia. Ma bym chciał znaleźć dosłownie wszystko o datagridview w 1 pliku, a kopiowanie danych z msdn na temat każdej metody itp nie wchodzi w grę, dlatego może wy macie jakieś sprawdzone tutoriale.
btw, do jakiego namespace mam się odwołać aby korzystać z:
column.HeaderText = ColumnName.OutOfOffice.ToString();
do tego wyskakują errory
- Nie wklejaj takich dużych obrazków na forum.
- Kiedy dokładnie następuje ten błąd? Bo jego treść wyjaśnia, co się dzieje.
- Sugeruję korzystać z debugera.
Co do sprawdzonych źródeł informacji, to znam tylko MSDN.
somekind napisał(a)
- Nie wklejaj takich dużych obrazków na forum.
- Kiedy dokładnie następuje ten błąd? Bo jego treść wyjaśnia, co się dzieje.
- Sugeruję korzystać z debugera.
Co do sprawdzonych źródeł informacji, to znam tylko MSDN.
- ok ;p
- przy renderowaniu 1 komórki, ale ustawiłem checkboxColumn.ThreeState = false; zamiast true, i chodzi ;p
btw, jak wygląda pętla iteracji po komórkach (wartosc textowa, wartosc comboboxa, wartosc checkboxa) w columnie datagrid. Bo mi wyskakuje, że klasa nie implementuje enu,eratora, być może źle podchodzę do tego.
A to ja sie dokleje do pytania - czy jest jakiś sposób fajny na przesortowanie ale po nagłówkach kolumn ?
sortować nie wiesze a kolumny w celu ("ładnego widoku")
coś jak mam [kolumne]:
[b][d][a] -> [a][b][d]
można to ręcznie w kodzie ale moze jest jakis ładny sposób zamiast przepisywania wartości kolumn ?