我用TableAdapter 对 DataTable 进行了 装载;
在IDE中使用数据源对一个DataGridView和一个Text进行了挂接,
当改变DataGridView中的聚焦记录时,Text也跟着变化。这当然是想要的。
但我没找到如何手动定位这条记录,以及找到相应的下一条记录,比如,我要添加一个“对比下一条”按钮在不影响当前记录的前提下,另读取下一条记录,怎么做?有人说DataSet.DataTable是没有类似游标的东西,对吗?不希望没做一次功能都用一个reader从头到尾的读,所以希望直接获取位置,并读取操作。
在IDE中使用数据源对一个DataGridView和一个Text进行了挂接,
当改变DataGridView中的聚焦记录时,Text也跟着变化。这当然是想要的。
但我没找到如何手动定位这条记录,以及找到相应的下一条记录,比如,我要添加一个“对比下一条”按钮在不影响当前记录的前提下,另读取下一条记录,怎么做?有人说DataSet.DataTable是没有类似游标的东西,对吗?不希望没做一次功能都用一个reader从头到尾的读,所以希望直接获取位置,并读取操作。
然后根据索引 下一条就
dt(DataTable对象)rows[i+1]["colname"].ToString()
然后索引临界处判断
DataGridViewCell c = dataGridView1.SelectedCells;
//通过c.RowIndex去dt取值
str1 = dt(DataTable对象)rows[c.RowIndex]["colname"].ToString();
//如果不是最后一条记录,则继续去下一条
if (c.RowIndex != dataGridView1.Rows.Count-2)
{
str2 = dt(DataTable对象)rows[c.RowIndex+1]["colname"].ToString();
}else
{
MessageBox.Show("已经是最后一条记录了");
}
写错了改为:
if (c.RowIndex <= dataGridView1.Rows.Count-2)//临界值
我半天也没找到DataSet.DataTable.Next之类的东西, 必须通过Reader的话, 又免不了不停的生成reader..如果实在不行,我就Reader,然后跳Index偏移量。 不知道效率怎么样。
dataSet1.Users.FindByID()、
curRow = (DataSet1.UsersRow)dataSet1.Users.Rows[dataSet1.Users.Rows.IndexOf(curRow) + 1];
可以手动的控制记录,但却脱离了IDE设置的数据绑定....我觉得问题可以简化成:DataGridView是如何控制绑定的数据集中的数据记录的,组件1--表---组件2 间绑定机制由谁来负责?代码如何实现。
因为没有找到MS 的 组件源码,所以也看不到是如何实现的.有哪位高人指点??