2

我有这样的 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"

我在此处添加了 mainwindows.xaml 源代码并此处添加了xaml 代码

4

3 回答 3

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}">
于 2013-06-19T17:23:18.843 回答
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;
 }

还可以看..

于 2013-06-19T18:01:54.537 回答
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 的转换器类,以便在您的数据中放置某种掩码。

于 2013-06-19T19:06:19.753 回答