数据网格中没有显示数据
本文关键字:数据 显示 数据网 网格 | 更新日期: 2023-09-27 18:19:03
这是我的代码。XAML:
<DataGrid AutoGenerateColumns="False" ItemsSource="{Binding }" Height="200" Name="dataGrid1" Width="200" />
cs: SqlConnection thisConnection = new SqlConnection(@"Server=(local);Database=Sample_db;Trusted_Connection=Yes;");
thisConnection.Open();
string Get_Data = "SELECT * FROM emp";
SqlCommand cmd = thisConnection.CreateCommand();
cmd.CommandText = Get_Data;
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataTable dt = new DataTable("emp");
sda.Fill(dt);
// MessageBox.Show(cmd.CommandText);
dataGrid1.ItemsSource = dt.DefaultView;
显示网格上的直线。不是实际的数据。请帮助。
Datatable
将不与AutoGenerateColumns="False"
生成数据网格行。
请将其更改为AutoGenerateColumns="True"
或在<Datagrid.Columns>
属性中添加您自己的数据列
如果您使用ItemSource,您必须生成一个ItemTemplate。使用templatecolns将WPF DataGrid绑定到DataTable
使用DataContext:
SqlConnection thisConnection = new SqlConnection(@"Server=(local);Database=Sample_db;Trusted_Connection=Yes;");
thisConnection.Open();
string Get_Data = "SELECT * FROM emp";
SqlCommand cmd = thisConnection.CreateCommand();
cmd.CommandText = Get_Data;
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataTable dt = new DataTable("emp");
sda.Fill(dt);
// Here:
dataGrid1.DataContext = dt.DefaultView;
DataContext是FrameworkElement所有子类的通用(依赖)属性。它通过逻辑树从父级继承到子级,并且可以用作DataBinding的隐式源。它本身不做任何事情,你基本上必须绑定到它。
ItemsSource是标识ItemsControl派生控件(或HierarchicalDataTemplate)中模板生成项的源的属性。