/ / Tablica powiązań listy <object> z dwuwymiarowym datagridview - c #, list, datagridview, binding, datareader

Wiążąca tablica listy <obiekt> z 2-wymiarowym datagridview - c #, list, datagridview, binding, datareader

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 № 1

Od 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