如何取得正在编辑中的当前行的值(在datagrid中编辑)

tihua 2004-11-09 11:17:27
如题,
字段一 字段二 字段三
2 3 ?
我的想法是当我输入完字段一和字段二的数据后,在字段二的LostFocus中把字段一和字段二相乘后把得数赋于字段三
dim newrow as datarow
neweow.item(2)=newrow.item(1)*newrow.item(0)
结果为0
是不是我这样的取值方法错误了?最初的想法是想解决聚合列不能及时反映数据的问题,谁知引出了一堆问题,老师们!帮帮我
...全文
461 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
tihua 2004-11-12
  • 打赏
  • 举报
回复
先试试“宝宝”提供的。
earlsen 2004-11-11
  • 打赏
  • 举报
回复
up
kqh0319 2004-11-11
  • 打赏
  • 举报
回复
up
水如烟 2004-11-10
  • 打赏
  • 举报
回复
还有
YourTable.Rows.Add (newRow)
水如烟 2004-11-10
  • 打赏
  • 举报
回复
dim newrow as datarow
neweow.item(2)=newrow.item(1)*newrow.item(0)
改为
dim newrow as datarow=YourTable.NewRow
neweow.item(2)=newrow.item(1)*newrow.item(0)
tihua 2004-11-10
  • 打赏
  • 举报
回复
我再顶
tihua 2004-11-09
  • 打赏
  • 举报
回复
to rock29

如果在数据库里设定的话,我就没办法把该值赋于其它变量了,因为数据还没写回数据库呀.
tihua 2004-11-09
  • 打赏
  • 举报
回复
to 游龙在天
我的想法是当焦点离开字段二后(这里假设字段三是不能取得焦点的,焦点可能移出了datagrid,当然我知道如果字段三有得到焦点或焦点移到下一行时,用“水如烟”的方法就可以了)使字段三等于字段一*字段二,而不是字段三得到焦点的情况下发生.

to skyeenet
能否详细点?

各位老师有没更好的办法,谢了
rock29 2004-11-09
  • 打赏
  • 举报
回复
直接在数据库里把第三列设为公式,是1,2的积
youlongzaitian 2004-11-09
  • 打赏
  • 举报
回复
把第三列设为只读,然后点第三列时,触发CURRENTCELLCHANGE,判断为第三列时取出第一,二列的数据相乘就OK了!
要源码的话我可以效劳,呵呵~~
skyeenet 2004-11-09
  • 打赏
  • 举报
回复
SelectIndex 就是当前正在编辑的行号
水如烟 2004-11-09
  • 打赏
  • 举报
回复
Table.Columns("字段三").Expression = "字段一*字段二"
rock29 2004-11-09
  • 打赏
  • 举报
回复
如果在数据库里设定的话,我就没办法把该值赋于其它变量了,因为数据还没写回数据库呀

呵呵,你可以:
1 数据写回数据库再赋值
2 当焦点离开第二列时,变量值手工1*2
heiheidan 2004-11-09
  • 打赏
  • 举报
回复
顶一下
viperboy 2004-11-09
  • 打赏
  • 举报
回复
其实很简单的事情,DataGrid1.DataKeys(e.Item.ItemIndex),试试用一下,就行了
dim str1 as string
dim str2 as string
dim strkey as string
strkey=datagrid.datakeys(e.item.intemindex).tostring()
dim txtfield as textbox
txtfield=CType(e.item.cells(3).controls(0),textbox)
str1=txtfiled.text
txtfield=CType(e.intem.cells(4).controls(0).textbox)
str2=txtfield.text
dim introw as dataset.categoriesrow
introw=dataset.categories.findbycategoryid(strkey)
introw.categoryname=str1
introw.description=str2
oledbdataadapter1.update(dataset)
datagrid.databind()
代码虽然给出来了,但其中还是要靠自己来领会
youlongzaitian 2004-11-09
  • 打赏
  • 举报
回复
动态取值想来想去总有BUG,我还是好好学习吧!
youlongzaitian 2004-11-09
  • 打赏
  • 举报
回复
我再说个思路吧,呵呵~~
能不能添加一个BUTTON来实现计算的功能,就时先不要对第三列操作,等1,2全部输入完毕后,一按计算结果就全出来了!
呵呵~~~典型的苯方法!
tihua 2004-11-09
  • 打赏
  • 举报
回复
自已顶一下

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧