Usiłuję powiązać Master_Transaction_List, któryto tablica listy do przeglądu danych. Obecnie tylko jedna kolumna jest wyświetlana, gdy lista [] jest powiązana z podglądem danych w czasie wykonywania (i wydaje się, że jest to liczba kolumn dla każdego wiersza, a nie rzeczywiste dane).
dh.Fill_Master_Transaction_List("SELECT * FROM transactions_dumpfile WHERE Tran_Price=8000;");
dataGridView1.DataSource = dh.Master_Transaction_List;
Klasa dh wypełnia publiczną listę o nazwie []Master_Transaction Lista z odpowiednimi danymi z tabeli MySQL zgodnie z tym zapytaniem. Widzę, że zapytanie działa poprawnie, a moja tablica list [] jest poprawnym dwuwymiarowym zestawem danych, którego szukam; 16 kolumn, ~ 1 tys. Wierszy.
Jednak gdy ustawiam źródło danych dla siatki danych,wyświetlana jest tylko jedna kolumna; nie pokazuje danych z elementów listy dla każdego elementu tablicy, ale liczbę kolumn dla każdego elementu (tj. każdej listy w obrębie tablicy).
Czy problem może polegać na tym, że używam typu danych „obiekt” dla wszystkich obiektów w każdym elemencie tablicy? Czy widok danych jest wrażliwy na to? Czy muszę wcześniej dostarczyć schemat kolumn?
Edycja: aby wyjaśnić, oto definicja Master_Transaction_List w ciągu dh:
public List<object>[] Master_Transaction_List;
Odpowiedzi:
1 dla odpowiedzi № 1Od MSDN
Klasa DataGridView obsługuje standardowe formularze Windows model wiązania danych. Oznacza to, że źródło danych może być dowolnego typu implementuje jeden z następujących interfejsów:
Interfejs IList, włącznie z tablice jednowymiarowe.
Interfejs IListSource, taki jak klasy DataTable i DataSet.
Interfejs IBindingList, taki jak klasa BindingList.
Interfejs IBindingListView, taki jak Klasa BindingSource.
Spróbuj rzutować zewnętrzną tablicę na listę i wewnętrzne listy na tablicę. Według tej listy tablic jest w porządku