WPF 数据库获得的数据DataTable绑定到DataGrid进行界面显示,自动生成列头。

您所在的位置:网站首页 如何读取datatable里面行和列 WPF 数据库获得的数据DataTable绑定到DataGrid进行界面显示,自动生成列头。

WPF 数据库获得的数据DataTable绑定到DataGrid进行界面显示,自动生成列头。

2023-08-09 22:43| 来源: 网络整理| 查看: 265

一般在WPF使用DataGrid时,在Xaml页面定义各个列头和绑定数据源。

从数据库读取的数据DataTable也可以直接绑定DataGrid。

1、在Xaml拖一个DataGrid。

2、得到DataTable

      声明DataTable dt_Edit = new DataTable();

      数据库读取:

            string ConStr = MainWindow.FESIM_DBPath;             string SqlStr = "select * from " + TableName + OrderText + ";";

               OleDbConnection AccessCon = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source= " + ConStr + ";"); //连接指定数据库                 OleDbDataAdapter AccessDa = new OleDbDataAdapter(SqlStr, AccessCon);

                AccessDa.Fill(dt_Edit);

3、绑定 dataGrid1.ItemsSource = dt_Edit.DefaultView;

4、这时列头是数据库读出的原始列名,如果要做列名修改比如由英文改成中文,可在3之前进行列头改变

     设置列名方法举例:

// 设置数据表的列名 public void Change_DataGrid_ColumnName_Ex(string TableName, DataTable dgv) { switch (TableName) { case "airport": dgv.Columns[0].ColumnName = "机场标识"; dgv.Columns[1].ColumnName = "机场参考点经度"; dgv.Columns[2].ColumnName = "机场参考点纬度"; dgv.Columns[3].ColumnName = "机场海拔高度"; break; case "runway": dgv.Columns[0].ColumnName = "跑道标识"; dgv.Columns[1].ColumnName = "机场标识"; dgv.Columns[2].ColumnName = "跑道入口经度"; break; } }

注意:DataGrid不在Xaml中设置列,而使用DataTable作为数据源自动绑定生成列的,要在Xaml中设置:

           AutoGenerateColumns="True" 

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3