以WPF Datagrid最简单的方式显示查询结果

时间:2012-02-08 19:34:37

标签: c# wpf datagrid

嗨我尝试了下面的代码,但没有在WPF数据网格上显示查询结果。,任何输入都是。

using (SqlConnection sqlConn = new SqlConnection())
{
    sqlConn.ConnectionString = connectionString;
    string queryString = "select * from dob.table_1";
    sqlConn.Open();

    DataTable table = new DataTable();
    SqlDataAdapter a = new SqlDataAdapter(queryString, sqlConn);
    a.Fill(table);

    this.datagird1.DataContext = table;
}

Datagrid XAML:

<DataGrid ItemsSource="{Binding}" AutoGenerateColumns="False" Grid.Row="1"
Height="219" HorizontalAlignment="Left" Name="datagird1" VerticalAlignment="Top"
Width="499" AllowDrop="True" />

3 个答案:

答案 0 :(得分:2)

这已经太晚了3年,但对通过谷歌到达这里的其他人有好处。 请看一下这个例子,这正是你需要的: http://www.codeproject.com/Tips/362436/Data-binding-in-WPF-DataGrid-control

答案 1 :(得分:1)

尝试

DataGrid1.ItemsSource = table.DefaultView

您还应将AutoGenerateColumns更改为“TRUE”

AutoGenerateColumns="TRUE" 

它应该工作。 你可以在这里阅读这个属性: http://msdn.microsoft.com/en-us/library/system.data.datatable.defaultview.aspx

您还可以在以下链接中逐步查看

http://www.codeproject.com/Articles/30905/WPF-DataGrid-Practical-Examples

答案 2 :(得分:0)

试试这个,它为我工作:

            OleDbDataAdapter dAdapter = new OleDbDataAdapter("Select * from FCT_P155_30920", _cnn);

        //fill the DataTable
        dAdapter.Fill(dTable);

        //set the DataGridView DataSource
        dgPrograms.ItemsSource = dTable.AsDataView();