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()
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的地方插入的呀,还是在末尾插入的~
这句话具体到程序中怎么用?并不是在index为1的地方插入的呀,还是在末尾插入的~
#5
第一个问题解决了~
谢谢hamado~第二个问题能不能帮帮忙?
谢谢hamado~第二个问题能不能帮帮忙?
#6
我用了Dim table As DataTable = myDataSet.Tables("syain_tbl")这一句
按照hamadou的方法可是怎么会引起保存的出错了呢?
对这句语句还是不甚理解:dim table as datatable=ctype(me.datagrid1.datasource,datatable)
按照hamadou的方法可是怎么会引起保存的出错了呢?
对这句语句还是不甚理解:dim table as datatable=ctype(me.datagrid1.datasource,datatable)
#7
都是一样的了,只不过使用了ctype来进行显性类型转换而已。
通常我们在定义了全局的mydataset变量后就可以很方便的使用mydataset.tables(0)等了,但如果没有定义这么一个mydateset变量或者datatable变量的话,我们要在其他方法中使用数据源就要这么做了。
通常我们在定义了全局的mydataset变量后就可以很方便的使用mydataset.tables(0)等了,但如果没有定义这么一个mydateset变量或者datatable变量的话,我们要在其他方法中使用数据源就要这么做了。
#8
用了me.datagrid1.datasource= table.copy()这句更新数据库的是否会出错,但是用datagridview.datasource=mydataset这句吧,又消除不了bug,怎么办?迷茫中。。。
或者说能不能通这样的方法,先用Add方法添加一行后再在指定位置插入?是否可行?怎么做?
或者说能不能通这样的方法,先用Add方法添加一行后再在指定位置插入?是否可行?怎么做?
#9
hamadou的方法如果插入的是空行,然后编辑单元格内容后更新数据库错误了~
#10
dim row as datarow = table.newrow 能这样吗?
好好看看书吧
好好看看书吧
#11
我不知道2003下是什么情况,我用的是2005,也就是说我一接触.net就是用的2005
http://msdn2.microsoft.com/en-us/library/7f2d84ta
MSDN上看来的~
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()
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的地方插入的呀,还是在末尾插入的~
这句话具体到程序中怎么用?并不是在index为1的地方插入的呀,还是在末尾插入的~
#5
第一个问题解决了~
谢谢hamado~第二个问题能不能帮帮忙?
谢谢hamado~第二个问题能不能帮帮忙?
#6
我用了Dim table As DataTable = myDataSet.Tables("syain_tbl")这一句
按照hamadou的方法可是怎么会引起保存的出错了呢?
对这句语句还是不甚理解:dim table as datatable=ctype(me.datagrid1.datasource,datatable)
按照hamadou的方法可是怎么会引起保存的出错了呢?
对这句语句还是不甚理解:dim table as datatable=ctype(me.datagrid1.datasource,datatable)
#7
都是一样的了,只不过使用了ctype来进行显性类型转换而已。
通常我们在定义了全局的mydataset变量后就可以很方便的使用mydataset.tables(0)等了,但如果没有定义这么一个mydateset变量或者datatable变量的话,我们要在其他方法中使用数据源就要这么做了。
通常我们在定义了全局的mydataset变量后就可以很方便的使用mydataset.tables(0)等了,但如果没有定义这么一个mydateset变量或者datatable变量的话,我们要在其他方法中使用数据源就要这么做了。
#8
用了me.datagrid1.datasource= table.copy()这句更新数据库的是否会出错,但是用datagridview.datasource=mydataset这句吧,又消除不了bug,怎么办?迷茫中。。。
或者说能不能通这样的方法,先用Add方法添加一行后再在指定位置插入?是否可行?怎么做?
或者说能不能通这样的方法,先用Add方法添加一行后再在指定位置插入?是否可行?怎么做?
#9
hamadou的方法如果插入的是空行,然后编辑单元格内容后更新数据库错误了~
#10
dim row as datarow = table.newrow 能这样吗?
好好看看书吧
好好看看书吧
#11
我不知道2003下是什么情况,我用的是2005,也就是说我一接触.net就是用的2005
http://msdn2.microsoft.com/en-us/library/7f2d84ta
MSDN上看来的~
http://msdn2.microsoft.com/en-us/library/7f2d84ta
MSDN上看来的~