我有这样的SQL表,
Name | 03.04.2013 | 05.04.2013 | 07.03.2013 | 09.04.2013
--------|----------------|----------------|--------------|---------------
我想在数据网格中显示此表。
SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM Fee", sc2);
DataTable dt = new DataTable();
da.Fill(dt);
datagrid2.ItemsSource = dt.DefaultView;
当我尝试它时,数据网格只显示名称,日期列中的值为空。(AutoGenerateColumns="true"
)
答案 0 :(得分:0)
试试这个
SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM Fee", sc2);
DataSet ds = new DataSet();
da.Fill(ds, "DataGridBind");
datagrid2.DataContext = ds;
在Xaml
<DataGrid Name="datagrid2" AutoGenerateColumns="True" ItemsSource="{Binding Path=DataGridBind}">
答案 1 :(得分:0)
试试..
string ConString = "Use your database address";
string CmdString = string.Empty;
using (SqlConnection con = new SqlConnection(ConString))
{
CmdString = "SELECT * FROM Fee";
SqlCommand cmd = new SqlCommand(CmdString, con);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataTable dt = new DataTable("Fee");
sda.Fill(dt);
datagrid1.ItemsSource = dt.DefaultView;
}
也可以查看..
答案 2 :(得分:0)
您可以尝试将AutoGenerateColumns设置为False并将绑定添加到自定义列:
<DataGrid x:Name="MyDataGrid" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Binding="{Binding Path=NAME}" IsReadOnly="True" Width="*" />
<DataGridTextColumn Header="Age" Binding="{Binding Path=AGE}" IsReadOnly="True" Width="*" />
<DataGridTextColumn Header="Date" Binding="{Binding Path=DATE}" IsReadOnly="True" Width="*" />
</DataGrid.Columns>
</DataGrid>
有了这个,您还可以创建一个扩展IValueConverter的转换器类,在您的数据中添加某种掩码。