dataset 典型错误使用方法
来源:互联网 发布:比较好的拼图软件 编辑:程序博客网 时间:2024/05/16 15:25
做了开发好多年,只知道使用dataset的基本功能!只是把dataset作为离线数据的容器,感觉这样对待dataset这么强大的空间是一种侮辱,所以决定打算使用一周的时间来彻底研究一下dataset。
首先列一下使用过程中的出现的问题吧!
第一步,把DATASET 和 DAGAGRIVE 绑定。具体代码如下
private void SETUI(DataSet ds)
{
try
{
BindingSource mybs= new BindingSource();
mybs.DataSource = ds.Tables[0].DefaultView;
dataGridView1.DataSource = mybs;
}
catch (Exception err)
{ MessageBox.Show(err.Message); }
finally
{ }
}
第二步 不修改datagrideview 中的单元格中的数据。而直接执行下边的代码。
结果是dgv中的相关列展现了“测试问题” 结果正确
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.F4)
{
if (dataGridView1.CurrentRow == null)
{
return;
}
DataGridViewRow dataGridViewRow = dataGridView1.CurrentRow;
DataRow dataRow = (dataGridViewRow.DataBoundItem as DataRowView).Row;
dataRow[1] = "测试问题";
dataRow.AcceptChanges();
//label6.Text = dataGridView1.CurrentRow.Tag.ToString();
label6.Text = dataRow.RowState.ToString();
}
结果是dgv中的相关列展现了“测试问题” 结果正确
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (dataGridView1.CurrentRow == null)
{
return;
}
第四步 修改datagrideview 中的单元格中的数据。而直接执行下边的代码。
结果是dgv中的相关列展现了“测试问题”但是结果在dgv中修改的单元格还是原来的值, 结果不正确
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.F4)
{
if (dataGridView1.CurrentRow == null)
{
return;
}
DataGridViewRow dataGridViewRow = dataGridView1.CurrentRow;
DataRow dataRow = (dataGridViewRow.DataBoundItem as DataRowView).Row;
dataRow[1] = "测试问题";
dataRow.AcceptChanges();
//label6.Text = dataGridView1.CurrentRow.Tag.ToString();
label6.Text = dataRow.RowState.ToString();
}
又上边的测试代码得知 纯粹在dgv中修改代码,或者直接给dataset 复制,dataset中的数据都是可以更新的。那么我又测试了下边的代码,
第五步 修改datagrideview 中的单元格中的数据。而直接执行下边的代码。
结果是dgv中的相关列展现了“测试问题”但是结果在dgv中修改的单元格还是原来的值, 结果不正确
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.F4)
{
if (dataGridView1.CurrentRow == null)
{
return;
}
DataGridViewRow dataGridViewRow = dataGridView1.CurrentRow;
DataRow dataRow = (dataGridViewRow.DataBoundItem as DataRowView).Row;
dataRow.AcceptChanges();
dataRow[1] = "测试问题";
dataRow.AcceptChanges();
//label6.Text = dataGridView1.CurrentRow.Tag.ToString();
label6.Text = dataRow.RowState.ToString();
}
通过 上边五次代码的测试得到下边的结论, 修改dataset中的数值要么通过绑定控件 ,在空间中修改数据,然后acceptchanged()方法提交到dataset中,要么通过直接修改dataset 然同通过提交Accceptchanged()更新dataset中数据。如果两者混用,那么只有直接给dataset赋值才能起作用,
那么如何解决这个矛盾啊
- dataset 典型错误使用方法
- DataSet使用方法
- DataSet 的 使用方法
- dataset的使用方法
- dataset的使用方法
- DataSet的使用方法
- 【ADO.NET】DataSet使用方法
- 总结DataTable,DataSet的使用方法。
- C#中DataSet的使用方法
- 典型的逻辑错误!
- VC典型错误
- C典型错误
- 典型的段错误
- CSS规范 - 典型错误
- wxWidgets典型错误
- CSS规范 - 典型错误
- mybatis典型错误总结
- sql2005常见典型错误总结
- POJ 8道简单的并查集 秒光了所有已知的简单并查集,总结一下,共8道。
- 几个实用的软件开发工具之——版本管理工具
- Socket封装8
- KDD Cup竞赛介绍
- Socket封装9
- dataset 典型错误使用方法
- Sos调试扩展简介
- Virtools概念篇 - Virtools是什么、能做什么、适合谁用
- Socket封装10
- RUP统一软件开发过程
- 主要软件作品展示
- Think in Python
- 几个实用的软件开发工具之——代码编辑工具
- 简述RUP过程