使用WPF获取DataGrid中选定行项目的主键值

使用WPF获取DataGrid中选定行项目的主键值,wpf,wpfdatagrid,advanceddatagrid,dojox.grid.datagrid,Wpf,Wpfdatagrid,Advanceddatagrid,Dojox.grid.datagrid,我有一个DataGrid,绑定到数据库表customer 我需要从DataGrid中所选行的数据库表中选择主键ID值 怎么做?请帮助..您可以将ID添加到select语句中 string Query = "Select ID,Card_Number,Clients_Title,Address_Current,Phone_Number,Mobile_Number from Customer_New "; 由于要隐藏ID列,并且自动生成列,请注册到网格的AutoGeneratingColumn事

我有一个
DataGrid
,绑定到数据库表
customer

我需要从DataGrid中所选行的数据库表中选择主键
ID


怎么做?请帮助..

您可以将
ID
添加到select语句中

string Query = "Select ID,Card_Number,Clients_Title,Address_Current,Phone_Number,Mobile_Number from Customer_New "; 
由于要隐藏
ID
列,并且自动生成列,请注册到网格的
AutoGeneratingColumn
事件

datagrid_cindex.AutoGeneratingColumn += OnAutoGenetingColumns;
在自动生成列的
中,隐藏ID列

private void OnAutoGenetingColumns(object sender, DataGridAutoGeneratingColumnEventArgs e)
{
    if (e.Column.Header.ToString() == "ID")
        e.Column.Visibility = System.Windows.Visibility.Collapsed;
}
如果要检索选定行的ID,请使用:

var selectedRow = datagrid_cindex.SelectedItem as DataRowView;
var id = selectedRow["ID"];

希望这有帮助

希望这个问题很清楚!您是否正在使用
ORM
framework?实体框架?NHibernate?我现在还没有使用任何框架。。。。我只是使用wpf控件制作数据库(sqlite)驱动的应用程序……上传您如何将网格绑定到databasesqlitecon.Open()的代码;string Query=“从客户\新建中选择卡号、客户\标题、当前地址\电话\号码、手机\号码”;SQLiteCommand createCommand=newsqlitecommand(查询,sqlitecon);createCommand.ExecuteOnQuery();SQLiteDataAdapter dataAdp=新的SQLiteDataAdapter(createCommand);DataTable dt=新的DataTable(“Customer_new”);数据自动处理填充(dt);datagrid_cindex.ItemsSource=dt.DefaultView;数据处理更新(dt);sqlitecon.Close();另一方面,我必须说,你真的应该使用一些ORM框架。将用户界面直接绑定到数据库是一种非常紧密的耦合,通常您都希望避免这种耦合……谢谢……这是100%有效的……您可以与我分享一些教程或视频教程的好链接,以便从头到尾学习ORM框架……我使用配置作为参考。这是一个很好的入门教程。如果我的帖子回答了你的问题,请将其标记为已回答。谢谢:)考虑到大多数网格都提供了一个实际的行属性(即主键)或行主键名称的全局属性,这看起来非常笨拙。@ProfK但只有在使用
EF
ORM
等时才会出现这种情况。尚不清楚
OP
使用的是什么数据绑定机制。