Datagridviewcomboboxcolumn - clasa ()

Clasa DataGridViewComboBoxColumn este un tip specializat al clasei DataGridViewColumn. utilizate pentru plasarea logică a celulelor, care permit utilizatorilor să selecteze valori din lista opțiunilor. Coloana DataGridViewComboBoxColumn are un DataGridViewComboBoxCell conectat în fiecare rând al DataGridViewRow. care intersectează cu ea.

Puteți să populați celulele manual prin setarea proprietăților lor Valoare. Sau puteți asocia o coloană cu sursa de date specificată de proprietatea DataGridView. DataSource. Dacă vizualizarea DataGridView este asociată cu o tabelă de baze de date, setați proprietatea DataPropertyName la numele coloanei din tabel. Dacă vizualizarea DataGridView este asociată cu o colecție de obiecte, setați proprietatea DataPropertyName la numele proprietății obiectului.

Lista derulantă a coloanei poate fi umplută manual prin adăugarea colecției de elemente. Sau, puteți asocia lista verticală cu propria sursă de date specificând proprietatea coloanei DataSource. Dacă valorile sunt obiecte din colecția sau înregistrările din tabela de baze de date, trebuie de asemenea să setați proprietățile DisplayMember și ValueMember. Proprietatea DisplayMember afișează ce proprietate a obiectului sau care coloană din baza de date furnizează valorile afișate în lista derulantă. Proprietatea ValueMember afișează ce proprietate a obiectului sau care coloană a bazei de date este folosită pentru a seta proprietatea Value a celulei.

Un scenariu tipic este de a conecta controlul DataGridView la tabela de baze de date părinte și de a lega lista verticală la tabelul copil corespunzător. De exemplu, ați putea conecta controlul DataGridView la tabelul Comenzi. care conține coloana ProductID. și setați proprietatea DataSource a coloanei în tabelul Produse. care conține coloanele ProductID și ProductName. În acest caz, trebuie să setați proprietatea DataPropertyName a coloanei la "ProductID" pentru a popula valorile celulei din coloana Orders.ProductID. Cu toate acestea, pentru a afișa nume de produse reale în celule și o listă derulantă, ar trebui să afișați aceste valori în tabelul Produse. setând proprietatea ValueMember la "ProductID" și proprietatea DisplayMember la "ProductName".

Valorile listei derulante (sau valorile indicate de proprietatea ValueMember) trebuie să conțină valorile reale ale celulelor, altfel controlul DataGridView va arunca o excepție.

Ca rezultat al setării proprietăților DataSource. Coloanele DisplayMember și ValueMember stabilesc automat proprietățile corespunzătoare tuturor celulelor din coloană, inclusiv proprietatea CellTemplate. Pentru a suprascrie valorile acestor proprietăți pentru anumite celule, setați mai întâi proprietatea coloanei și apoi setați proprietățile celulei.

Spre deosebire de comanda ComboBox, controlul DataGridViewComboBoxCell nu are proprietățile SelectedIndex și SelectedValue. În schimb, când selectați o valoare, proprietatea Valoare a celulei este setată din lista derulantă.

Implicit, pentru acest tip este utilizat modul de sortare NotSortable.

Note către moștenitori:

Când extrageți proprietăți din DataGridViewComboBoxColumn și adăugați proprietăți noi clasei derivate, nu uitați să înlocuiți metoda de clonare pentru a copia proprietăți noi în timpul operațiilor de clonare. În plus, trebuie să apelați metoda Clone a clasei de bază astfel încât proprietățile clasei de bază să fie copiate în noua celulă.

Articole similare