Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何获取bindingNavigator当前页面_C# - Fatal编程技术网

C# 如何获取bindingNavigator当前页面

C# 如何获取bindingNavigator当前页面,c#,C#,我说的是: 我需要得到那一行的数据库信息 我的程序都在搜索,所以我不确定它是如何工作的。但我需要的是,要从bindingNavigator窗口中查看的活动行中获取主键(id),然后从该id运行一个查询,从另一个具有与主键相同外键的表中获取一些数据 因此,左侧将有一个导航框用于浏览数据库中的行,然后每次更改活动行时,右侧的3个文本框将从另一个表中获取相关数据(通过外键连接到表1中的主键) 我试过一段时间,例如: MessageBox.Show(bindingNavigatorPnosition

我说的是:

我需要得到那一行的数据库信息

我的程序都在搜索,所以我不确定它是如何工作的。但我需要的是,要从bindingNavigator窗口中查看的活动行中获取主键(id),然后从该id运行一个查询,从另一个具有与主键相同外键的表中获取一些数据

因此,左侧将有一个导航框用于浏览数据库中的行,然后每次更改活动行时,右侧的3个文本框将从另一个表中获取相关数据(通过外键连接到表1中的主键)

我试过一段时间,例如:

 MessageBox.Show(bindingNavigatorPnositionItem.GetCharIndexFromPosition);

我意识到这是行不通的,我不确定我到底在做什么,因为如果有人在搜索,这根本没有帮助,因为它不是主键。我可以读取用户更改页面时显示的“id”字段中的数据,但如何检查用户是否更改页面?

我不确定您想要实现什么,但如果您想要查看当前记录的id或主键,并且每次位置更改时都会更新该记录,然后你可能会这样做:

加载表单中
可以初始化
位置更改
事件处理程序

 this.bindingNavigator1.BindingSource.PositionChanged += new EventHandler(BindingSource_PositionChanged);
然后,事件处理程序将获得所需的当前列或主键。假设您的主键是
CustomerID

 void BindingSource_PositionChanged(object sender, EventArgs e)
 {
     DataRowView currRow = (DataRowView)bindingNavigator1.BindingSource.Current;
     // You could use currRow["CustomerID"].ToString() value below to filter now the related table that has the Foreign Key
     MessageBox.Show(currRow["CustomerID"].ToString()); 
 }

你的图像链接没有显示你想要传达的内容。它是一个启用了“详细信息”的表,我从数据源拖放了它。如果有100行,则表示为100行中的1行。我可能理解不正确,但您的绑定源的当前项可以通过
bindingNavigator.BindingSource.current
获得。。。