社区
控件
帖子详情
DataGrid的焦点问题(急!!周末加班,真不爽!)
swordbroken
2003-07-06 02:52:05
我想实现下面的功能:
当Cell更新之前(BeforeColUpdate)进行输入检查,如果输入错误的话,保持输入的值不变,并全选该Cell.
可是现在的情况是,如果我用Cancel=True那么Cell的值就变成了原来的值。如果不用Cancel=True,那么就有可能输入了错误的值。
还有一个关键问题就是执行完BeforeColUpdate的代码后,焦点不能回到那个单元格了。或者说焦点还在那里,只是文本没有被选中。
请问如何解决?
...全文
35
17
打赏
收藏
DataGrid的焦点问题(急!!周末加班,真不爽!)
我想实现下面的功能: 当Cell更新之前(BeforeColUpdate)进行输入检查,如果输入错误的话,保持输入的值不变,并全选该Cell. 可是现在的情况是,如果我用Cancel=True那么Cell的值就变成了原来的值。如果不用Cancel=True,那么就有可能输入了错误的值。 还有一个关键问题就是执行完BeforeColUpdate的代码后,焦点不能回到那个单元格了。或者说焦点还在那里,只是文本没有被选中。 请问如何解决?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
swordbroken
2003-07-08
打赏
举报
回复
up
unrknight
2003-07-07
打赏
举报
回复
我也没怎么用过datagrid控件,有没有办法让datagrid控件只能行聚焦?
swordbroken
2003-07-07
打赏
举报
回复
行焦点应该没有吧.
DATAGRID用起来真的是不好用,可能是自己水平太次了吧.
不过必须要用这个,所以还是请各位帮一下忙
alion
2003-07-07
打赏
举报
回复
你说的
DataGrid1.Col = 1
DataGrid1.Row = 1
DataGrid1.SetFocus
是单元格焦点,
但是有没有行焦点?
swordbroken
2003-07-07
打赏
举报
回复
SendKey的问题太多了,这样的话程序有可能不稳定
swordbroken
2003-07-07
打赏
举报
回复
可是绑定Text的话,位置很难控制呀。
我主要就是想让它在出错后光标还是在原来的单元格里,并且内容不变为更改前的值,只是选中所有的文本等待用户处理。
比如,有一个字段,长度是2,原来的数据是“11”,现在用户输入“123”,那么我就跳出一个对话框,告诉用户输入数据过长,用户点击确定后,光标回到刚才的单元格里,数据仍然是“123”,而不是在BeforeColUpdate里执行Cancel=True之后的“11”。只是“123”被反选,用户直接从键盘输入就可以更改出错的单元格。
现在的情况是,如果用Cancel=True数据就变成了“11”,而且光标并没有回到单元格。
谢谢!
southdoor
2003-07-07
打赏
举报
回复
我的数据库连接都是用adodc和datagrid组合,你说的问题我觉得你还是将自己想要实现的东西告诉大家,其实修改数据库有很多方法,你可以用n个textbox或label控件绑定各个字段,然后再改变不挺方便的吗?还有你也可以用rs.movenext之类东东控制记录号。
if 输入有效 then
adodc1.refresh
elseif 输入无效 then
end sub
end if
swordbroken
2003-07-07
打赏
举报
回复
up
JerryLis
2003-07-06
打赏
举报
回复
呵,我没有这样用过,不过可以试一下SENDKEY
swordbroken
2003-07-06
打赏
举报
回复
我说用SetFocus的意思是,如果焦点不在DataGrid上,用下面的语句可以实现。
DataGrid1.Col = 1
DataGrid1.Row = 1
DataGrid1.SetFocus
可是现在DataGrid并没有失去焦点。
而且我觉得如果是先把焦点设到别的控件上再设回来这种方法不好!
谢谢!
swordbroken
2003-07-06
打赏
举报
回复
不好意思。
应该是单元格反选。
JerryLis
2003-07-06
打赏
举报
回复
SETFOCUS这个怎么能用在单元格呢,只能用在控件,还有就是我不清楚你单元格全选是什么??
swordbroken
2003-07-06
打赏
举报
回复
我试过了,新加一个Text控件的话位置很难控制,经常会和单元格不对齐。
现在的问题应该是我想让DataGrid做到单元格全选怎么办?
因为DataGrid并没有失去焦点,所以用SetFocus一定是无效的。
JerryLis
2003-07-06
打赏
举报
回复
不用数据绑定就用ADODB来连数据库,然后将要显示的值一个个填写进控件就可以,速度可能会慢点,但也不会太慢了,我算过5000条数据3秒吧,数据实在太多最好用分页的方法,新加一个TEXT控件专门用来更改数据,我本人认为不会太复杂了,不然也可以用DATAFORMAT来绑定列的数据类型
swordbroken
2003-07-06
打赏
举报
回复
再用一个Text控件就太麻烦了。
有没有别的办法?
还有,DataGrid不用数据绑定的话怎么显示数据?我也觉得没有FlexGrid好用,可是项目就要求这样,我也没有办法。
各位帮忙呀!
JerryLis
2003-07-06
打赏
举报
回复
一般你这样绑定数据库的方法我一般不用,因为不好用,但我可以告诉你,你可以用一个TEXT控件来解决你的问题
是有这样的问题,你要在BeforeColUpdate记录下当前的单元格,执行完后再将焦点置回去,
swordbroken
2003-07-06
打赏
举报
回复
怎么没有人帮我吗?
在jquery easyui中的
datagrid
中添加searchbox!
研究了好久,终于成功在jquery easyui中的
datagrid
中添加searchbox!
wpf
DataGrid
自定义样式!
wpf
DataGrid
自定义样式、控件模板 ControlTemplate
easyui+jsp+servlet上手实例
完整的easyui的
datagrid
使用实例,带你快速入门,一步上手
扩展 jQuery EasyUI
Datagrid
数据行鼠标悬停离开事件完整版Demo下载
jQuery EasyUI
Datagrid
用户列表鼠标悬停/离开数据行时显示人员头像(onMouseOver/onMouseOut) Demo 扩展 jQuery EasyUI
Datagrid
数据行鼠标悬停离开事件,源码奉献!!!
WPF
DataGrid
:解决排序、ScrollIntoView、刷新和
焦点
问题
目录 介绍 第一种方法:记住选定的行,刷新
DataGrid
,再次选择行 最终方法:使用OneWay绑定,避免调用Refresh() 改进1:使ScrollIntoView()起作用 改进2:将选定的行显示为具有
焦点
深入研究
DataGrid
格式 使用代码 出人意料的是,从代码中更改某些WPF
DataGrid
数据后遇到许多挑战,这些代码要求对行进行新的排序并滚动
DataGrid
以显示最初选择的行。本文重点介绍遇到的
问题
以及如何解决。最后是完整的示例代码。 介绍 我正在使用WPF编写一个W
控件
1,451
社区成员
41,355
社区内容
发帖
与我相关
我的任务
控件
VB 控件
复制链接
扫一扫
分享
社区描述
VB 控件
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章