数据窗口的问题, 如何点中 checkbox

时间:2021-12-03 08:45:54
我是一个 PB 新生,也是CSDN PB 版的新人,现有一个问题,请大家给帮帮忙, 谢谢先。
我在数据窗口中用了 checkbox 但点中这项时为什么 checkbox 怎么也不画勾?
只是点中了那一项。而且, 那一列本该显示的内容也不见了, 只是有了一个 check box.
怎么办? 为什么?

另外, 能不能做到既点中一行, 又点中 checkbox?

15 个解决方案

#1


什么意思,在数据窗口中加入checkbox,怎么加?我不会啊!

#2


你检查一下该项的taborder是不是为0
很有可能就是这个原因
要选中一行的话,可以用 selectrow()函数,你看看帮助

#3


我问的不太明确, 我的数据窗口是设置为点中一行的, 现在无论我怎么点 checkbox, 它都不画钩。

另外,某一列不是 布尔型的, 能不能用 check box?

还有, 我想一次选多行 怎么办?

另外, 数据库中没有布尔列, 而计算列又不能设置 check box, 难道要我在数据库中再加一个布尔列?
谢谢。

#4


to mouseonline(老鼠) 
谢谢老兄, 我大概没有讲明白, 我的目的是能一次选中多条记录(在数据窗口中),最好是用 checkbox, 另外, 如果要选的表中没有布尔型字段怎么办?

#5


数据库中没有布尔型,你可以用整型表示
1 true  ,0  false
你要选多行,用selectrow()函数也是可以的啊
不过效果看上去一大片蓝的,很悲惨,你可以在选中一行时改变其字体颜色,而不用selectrow
你先用 selectrow试一下吧,checkbox是能够用的呀
我以前遇到这个问题是用bmp计算列实现的,bmp为一个小勾

#6


同意老鼠的意见

#7


to mouseonline(老鼠):
首先声明, 我很菜, 可能你已经讲的很明白了, 但我还有一点没懂。

现在我在数据窗口 中已经把布尔列显示为 checkbox 了, 但我现在点一个 checkbox 时, 在显示时,他没有任何变化,没有从钩变为空或反过来, 是不是还要在 script 中编程才行?但编程的话, 我怎么才能知道点了 checkbox 而不是这一行?

另外, 在编程时, 用什么语句取到 checkbox 的状态?


再另外, PB 的数据窗口有没有不依靠表的字段状态而定的checkbox, 仅仅就是 checkbox, 

#8


数据窗口里没有的
你看一下你那一列的taborder
不能为0,点击design菜单下的tab order可以的
修改好以后在重新点击回去

#9


To : mouseonline(我想网恋) 
谢谢 mouseonline(我想网恋)  谢谢 mouseonline(我想网恋)  谢谢 mouseonline(我想网恋)  
我看到你第一次的回贴了,只不过我没有深刻理解,现在可以把 checkbox 修改了,

但还有一个问题, 我怎么才能知道我对checkbox 作的改动呢?

请, 好人做到底,


#10


我不知道你具体要做什么
checkbox改动时会触发itemchanged事件的

#11


to:mouseonline(我想网恋) 
我就是想记录下我选了哪几条记录,
谢谢。
你刚才的提醒让我把另一个问题也给解救了, 原来我 DDDW 不能下拉, 现在也行了, 为什么和 tab order 有关呢?

#12


tab order为0时是不能获得焦点,也就是不能被激活
你想要知道那写选中了
一种比较直接的办法是做一个循环
for i = 1 to dw_control.rowcount()
  if dw_control.getitemnumber(i,"") = 1 then  //这地方看你怎么定义数据类型的
     // ....
  else
    // ....
  end if 
next

#13


同意楼上

#14


to mouseonline(我想网恋) 
我刚才看你是老鼠啊, 怎么一下就要练爱了?^_^
谢谢
没想到 CSDN 有这么多乐于主人的高手。

#1


什么意思,在数据窗口中加入checkbox,怎么加?我不会啊!

#2


你检查一下该项的taborder是不是为0
很有可能就是这个原因
要选中一行的话,可以用 selectrow()函数,你看看帮助

#3


我问的不太明确, 我的数据窗口是设置为点中一行的, 现在无论我怎么点 checkbox, 它都不画钩。

另外,某一列不是 布尔型的, 能不能用 check box?

还有, 我想一次选多行 怎么办?

另外, 数据库中没有布尔列, 而计算列又不能设置 check box, 难道要我在数据库中再加一个布尔列?
谢谢。

#4


to mouseonline(老鼠) 
谢谢老兄, 我大概没有讲明白, 我的目的是能一次选中多条记录(在数据窗口中),最好是用 checkbox, 另外, 如果要选的表中没有布尔型字段怎么办?

#5


数据库中没有布尔型,你可以用整型表示
1 true  ,0  false
你要选多行,用selectrow()函数也是可以的啊
不过效果看上去一大片蓝的,很悲惨,你可以在选中一行时改变其字体颜色,而不用selectrow
你先用 selectrow试一下吧,checkbox是能够用的呀
我以前遇到这个问题是用bmp计算列实现的,bmp为一个小勾

#6


同意老鼠的意见

#7


to mouseonline(老鼠):
首先声明, 我很菜, 可能你已经讲的很明白了, 但我还有一点没懂。

现在我在数据窗口 中已经把布尔列显示为 checkbox 了, 但我现在点一个 checkbox 时, 在显示时,他没有任何变化,没有从钩变为空或反过来, 是不是还要在 script 中编程才行?但编程的话, 我怎么才能知道点了 checkbox 而不是这一行?

另外, 在编程时, 用什么语句取到 checkbox 的状态?


再另外, PB 的数据窗口有没有不依靠表的字段状态而定的checkbox, 仅仅就是 checkbox, 

#8


数据窗口里没有的
你看一下你那一列的taborder
不能为0,点击design菜单下的tab order可以的
修改好以后在重新点击回去

#9


To : mouseonline(我想网恋) 
谢谢 mouseonline(我想网恋)  谢谢 mouseonline(我想网恋)  谢谢 mouseonline(我想网恋)  
我看到你第一次的回贴了,只不过我没有深刻理解,现在可以把 checkbox 修改了,

但还有一个问题, 我怎么才能知道我对checkbox 作的改动呢?

请, 好人做到底,


#10


我不知道你具体要做什么
checkbox改动时会触发itemchanged事件的

#11


to:mouseonline(我想网恋) 
我就是想记录下我选了哪几条记录,
谢谢。
你刚才的提醒让我把另一个问题也给解救了, 原来我 DDDW 不能下拉, 现在也行了, 为什么和 tab order 有关呢?

#12


tab order为0时是不能获得焦点,也就是不能被激活
你想要知道那写选中了
一种比较直接的办法是做一个循环
for i = 1 to dw_control.rowcount()
  if dw_control.getitemnumber(i,"") = 1 then  //这地方看你怎么定义数据类型的
     // ....
  else
    // ....
  end if 
next

#13


同意楼上

#14


to mouseonline(我想网恋) 
我刚才看你是老鼠啊, 怎么一下就要练爱了?^_^
谢谢
没想到 CSDN 有这么多乐于主人的高手。