我不是小女子,我还想问~!!

时间:2022-11-29 16:58:33
Dim table As DataTable = myDataSet.Tables("syain_tbl")
Dim row As DataRow = table.NewRow
table.Rows.InsertAt(row, DataGridView.CurrentRow.Index)

为什么上面的代码会出现混乱,当选中最后一条记录执行添加新行后竟然添加了两条记录???
我想在选中的当前行插入记录。table.Rows.Add(row)只是在最后添加。

另外,有当单元格中内容发生改变时触发的事件么?CellLeave和CellEndEdit都不好,主要还是我上一贴中的问题,想在这样的事件上屏蔽掉程序的错误提示。

11 个解决方案

#1


我不知道上面的问题出在哪~
起这么个题目难道我自断后路了?

#2


这是个BUG,要如下修改:
dim table as datatable=ctype(me.datagrid1.datasource,datatable)
dim row as datarow = table.newrow
row("name")="111"
row("id")=33
table.rows.insertat(row,1)
me.datagrid1.datasource= table.copy()

#3


只要你不是人妖,我就帮顶……

#4


dim table as datatable=ctype(me.datagrid1.datasource,datatable)
这句话具体到程序中怎么用?并不是在index为1的地方插入的呀,还是在末尾插入的~

#5


第一个问题解决了~
谢谢hamado~第二个问题能不能帮帮忙?

#6


我用了Dim table As DataTable = myDataSet.Tables("syain_tbl")这一句
按照hamadou的方法可是怎么会引起保存的出错了呢?
对这句语句还是不甚理解:dim table as datatable=ctype(me.datagrid1.datasource,datatable)

#7


都是一样的了,只不过使用了ctype来进行显性类型转换而已。
通常我们在定义了全局的mydataset变量后就可以很方便的使用mydataset.tables(0)等了,但如果没有定义这么一个mydateset变量或者datatable变量的话,我们要在其他方法中使用数据源就要这么做了。

#8


用了me.datagrid1.datasource= table.copy()这句更新数据库的是否会出错,但是用datagridview.datasource=mydataset这句吧,又消除不了bug,怎么办?迷茫中。。。

或者说能不能通这样的方法,先用Add方法添加一行后再在指定位置插入?是否可行?怎么做?

#9


hamadou的方法如果插入的是空行,然后编辑单元格内容后更新数据库错误了~

#10


dim row as datarow = table.newrow 能这样吗? 
好好看看书吧

#11


我不知道2003下是什么情况,我用的是2005,也就是说我一接触.net就是用的2005
http://msdn2.microsoft.com/en-us/library/7f2d84ta
MSDN上看来的~

#1


我不知道上面的问题出在哪~
起这么个题目难道我自断后路了?

#2


这是个BUG,要如下修改:
dim table as datatable=ctype(me.datagrid1.datasource,datatable)
dim row as datarow = table.newrow
row("name")="111"
row("id")=33
table.rows.insertat(row,1)
me.datagrid1.datasource= table.copy()

#3


只要你不是人妖,我就帮顶……

#4


dim table as datatable=ctype(me.datagrid1.datasource,datatable)
这句话具体到程序中怎么用?并不是在index为1的地方插入的呀,还是在末尾插入的~

#5


第一个问题解决了~
谢谢hamado~第二个问题能不能帮帮忙?

#6


我用了Dim table As DataTable = myDataSet.Tables("syain_tbl")这一句
按照hamadou的方法可是怎么会引起保存的出错了呢?
对这句语句还是不甚理解:dim table as datatable=ctype(me.datagrid1.datasource,datatable)

#7


都是一样的了,只不过使用了ctype来进行显性类型转换而已。
通常我们在定义了全局的mydataset变量后就可以很方便的使用mydataset.tables(0)等了,但如果没有定义这么一个mydateset变量或者datatable变量的话,我们要在其他方法中使用数据源就要这么做了。

#8


用了me.datagrid1.datasource= table.copy()这句更新数据库的是否会出错,但是用datagridview.datasource=mydataset这句吧,又消除不了bug,怎么办?迷茫中。。。

或者说能不能通这样的方法,先用Add方法添加一行后再在指定位置插入?是否可行?怎么做?

#9


hamadou的方法如果插入的是空行,然后编辑单元格内容后更新数据库错误了~

#10


dim row as datarow = table.newrow 能这样吗? 
好好看看书吧

#11


我不知道2003下是什么情况,我用的是2005,也就是说我一接触.net就是用的2005
http://msdn2.microsoft.com/en-us/library/7f2d84ta
MSDN上看来的~