Что мне нужно сделать, чтобы связать мой элемент управления DataGrid WPF с объектом DataTable?привязка данных к элементу управления DataGrid WPF к объекту System.Data.DataTable?
Я страдаю от этого в течение нескольких дней. Даже когда привязка и запрос работают правильно, и в таблице есть наблюдаемые данные - в сетке данных ничего не отображается.
Мой XAML код напоминает это:
<Window x:Class="DataGridTest.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:TK="clr-namespace:Microsoft.Windows.Controls;assembly=WPFToolkit"
Title="Window1" Height="300" Width="300">
<Grid>
<TK:DataGrid ItemsSource="{Binding Path=DTUsers}" />
</Grid>
</Window>
Мой C# кода напоминает это:
(DAO мой доступ к данным объекта)
public partial class Window1 : Window
{
public dao DAO = new dao (ConnectionString) ;
public System.Data.DataTable DTUsers { get; set; }
public Window1()
{
InitializeComponent();
if (DAO != null)
DTUsers = DAO.Query(@"SELECT * FROM users");
// Returns a DataTable object containing user records.
// I have confirmed that this returns my data correctly.
}
}
Я проверил выход, и ошибок привязки нет.
Зачем это компилировать и запускать, но не будет отображать какие-либо данные ???
(Если вы не знаете, где находится элемент управления DataGrid, доступен набор инструментов WPF here. Установите его, добавьте ссылку на WPFToolkit.dll [который появится в диалоговом окне «Добавить ссылку» в разделе «.NET "] и предоставить декларацию пространства имен XML [в моем XAML выше], чтобы использовать элемент управления DataGrid WPF.)
Это имеет смысл! Благодаря тонну! – Giffyguy
Хмм --- Я перевел InitializeComponent() в самую нижнюю часть конструктора, и теперь по крайней мере DataGrid может заполнить себя соответствующими столбцами и заголовками столбцов ... но он по-прежнему не показывает записи данных ... Любой другие идеи? Я попрошу вас снова проголосовать, если вы хотите дать еще один ответ. – Giffyguy
О, я случайно оставил свой запрос закомментированным ... плохим. Он отлично работает сейчас, благодаря вашему ответу! – Giffyguy