WPF Datagrid不显示所有值

本文关键字:显示 Datagrid WPF | 更新日期: 2023-09-27 18:19:09

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

我添加了主窗口。这里是Xaml源代码,这里是Xaml代码

WPF Datagrid不显示所有值

试试这个

        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}">

Try with…

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;
 }

还可以查看…

  • 以最简单的方式显示WPF数据网格查询结果
  • http://www.dotnetspider.com/resources/34103-WPF-Binding-DataTable-WPF-Datagrid.aspx

您可以尝试将autogeneratecolcolumns设置为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,在你的数据中添加某种类型的掩码。