Невозможно отобразить данные в сетке данных WPF, в которой в качестве источника элементов используется экземпляр DataView - PullRequest
2 голосов
/ 24 мая 2010

Я использую объект DataGrid из инструментария WPF. Я связываю объект DataGrid с представлением по умолчанию экземпляра DataTable, как объявлено в следующем коде:

WeatherGrid.ItemsSource = weatherDataTable.DefaultView;

WeatherDataTable имеет три столбца. Первый столбец определен, чтобы содержать строковый тип данных. Два других столбца определены как двойные типы данных. Когда приложение выходит из функции, которая вызывает привязку, как указано в объявлении, объект DataGrid отображает данные для первого столбца, но не для других столбцов. Когда я набираю следующее в ближайшем окне в отладчике:

((DataRowView)WeatherGrid.Items[0]).Row[1]

Я получил номер, но он не соответствует тому, что отображается. Почему виден только первый столбец и как я могу сделать так, чтобы все данные были видны? Я оставлю свое определение XAML для объекта DataGrid ниже:

<toolkit:DataGrid Margin="12.726,77.71,12,0" Name="WeatherGrid" Height="500" Grid.Row="1" VerticalAlignment="Top" CanUserAddRows="False" CanUserDeleteRows="False" IsReadOnly="True" />

Ответы [ 2 ]

4 голосов
/ 24 мая 2010

Оказывается, что для моих второго и третьего столбцов я использовал извращенные имена столбцов.В конечном итоге я хотел, чтобы моя DataTable была динамичной, так как она могла иметь переменное число столбцов, и я хотел уникально идентифицировать каждый столбец по дате.Итак, я добавил две строки, одну с именем и одну с номерами, разделенными символом «/».Кажется, что это вызвало некоторые проблемы с привязкой объекта DataGrid.

Чтобы решить эту проблему, я изменил строку, однозначно идентифицируя дату с номером для дня в году и года.В результате я смог отобразить данные.

Интересно отметить, что при использовании слеша в именах столбцов DataTable при привязке к GridViews в ASP.NET таких проблем не возникает.

0 голосов
/ 23 мая 2013

На самом деле имя привязки столбца чувствительно к регистру и должно точно совпадать с именами столбцов в базе данных.

...