У меня проблема с заполнением DataGrid данными из DB (Sqlite) в моем проекте WPF C#.WPF DataGrid не заполнен данными
Я определил DataGrid в моем файле XAML с именем (dataGrid_Students):
<DataGrid Name="dataGrid_Students" Grid.Row="0" Grid.Column="0"
RenderOptions.ClearTypeHint="Enabled"
TextOptions.TextFormattingMode="Display"
CanUserAddRows="False"
CanUserDeleteRows="False"
SelectionUnit="FullRow"
AutoGenerateColumns="false"
>
<DataGrid.Columns>
<DataGridTextColumn Header="Index Number" />
<DataGridTextColumn Header="First Name" />
<DataGridTextColumn Header="Last Name" />
</DataGrid.Columns>
</DataGrid>
В моем файле C# в конструкторе для этого окна, где определяется компонент DataGrid, я назвал метод initDataGrid();
public StudentForm() {
InitializeComponent();
this.WindowStartupLocation = WindowStartupLocation.CenterScreen;
initDataGrid();
}
Который содержит этот код:
private void initDataGrid() {
//dataGrid_Student.DataContext = dbManager.Students; does not work
dataGrid_Student.ItemsSource = dbManager.Students;
}
So к веро lem - мой DataGrid пуст. Я проверил, может ли список моих учеников быть нулевым, но это не так, и он содержит все данные. Итак, что еще мне не хватает, чтобы заполнить DataGrid данными?
UPDATE:
Мой студент класс:
[Table("student")]
class Student {
[Key] // this is a primary key in my table
[Column(name:"brind")]
public int Brind { get; set; }
[Column(name:"first_name")]
public string FirstName { get; set; }
[Column(name:"last_name")]
public string LastName { get; set; }
}
переплетены мои свойства из класса Student в этой колонки:
<DataGrid Name="dataGrid_Student" Grid.Row="0" Grid.Column="0"
RenderOptions.ClearTypeHint="Enabled"
TextOptions.TextFormattingMode="Display"
CanUserAddRows="False"
CanUserDeleteRows="False"
SelectionUnit="FullRow"
AutoGenerateColumns="false"
>
<DataGrid.Columns>
<DataGridTextColumn Header="Index Number" Binding="{Binding Brind}" />
<DataGridTextColumn Header="First Name" Binding="{Binding FirstName}" />
<DataGridTextColumn Header="Last Name" Binding="{Binding LastName}" />
</DataGrid.Columns>
</DataGrid>
DataGrid все еще пуст.
экземплярМой DBManager этот класс:
class ManagerDBContext : DbContext {
public ManagerDBContext() : base("Student_DbContext") {
Database.SetInitializer<ManagerDBContext>(null);
}
public DbSet<User> Users { get; set; }
public DbSet<Student> Students { get; set; }
}
Переплетная деталь для колонн? Я не знаком с привязками. Можете ли вы привести мне пример, как это сделать? – Kapparino
@ Каппарино столбцы, которые вы хотите привязать к свойствам студентов, должны быть определены в xaml – Sajeetharan
Эти переменные привязки - это переменные - свойства, определенные в моем классе Student, правильно? – Kapparino