请教:如何实现让用户向在EXCEL中操作一样,可在同一列选中不连续的单元格?
请教:在Grid表中编辑数据时,1、如何实现让用户向在EXCEL中操作一样,可在同一列选中多个不连续的单元格?2、在代码中如何判断这些被选中的单元格?谢谢! 问题点数:0、回复次数:5Top
1 楼dajianshi(拔剑四顾心茫然)回复于 2003-11-01 22:57:12 得分 0
难Top
2 楼zhangdatou(猪头)回复于 2003-11-02 07:18:04 得分 0
很难Top
3 楼treesoft(长沙水)回复于 2003-11-02 11:47:14 得分 0
PB中好象不能支持列的选择,不过可能支持行的选择。可以在DW控件的rowFocusChanged中写
selectRow(currentRow,true)
在程序中可以这样做:
long ll_i,ll_rowCount
ll_rowCount = dw_1.rowCount()
for ll_i=1 to ll_rowCount
if isSeleted(ll_i) then
//表示行被选中,加入你的操作
end if
nextTop
4 楼treesoft(长沙水)回复于 2003-11-02 17:53:36 得分 0
找到新方法了!!!
设选中的操作为Ctrl + 单击,另在你想要操作的列设置为透明,在detail区添加一个text对象,且将其visible设置为false,颜色自定义就OK,则有:
1、在declare instance variables 中输入:
long il_selectedRow[]
1、在DW控件的clicked事件中写以下代码:
if keyDown(keyControl!) then
if row>0 then
if dwo.name="你的列名"
Top
5 楼treesoft(长沙水)回复于 2003-11-02 18:05:12 得分 0
接上贴! 设上贴的text的名字是t_selected,将它的visible属性设置为“if(text='s',255,0)”,
1、加上下面这句:
long il_selectedRowCount=0
2、在DW控件的clicked事件中写以下代码:
if keyDown(keyControl!) then
if row>0 then
if dwo.name="你的列名" then
modify("t_selected.text='s'")
il_selectedRowCount++
il_selectedRow[il_selectedRowCount] = row
end if
end if
end if
3、在代码中如何判断这些被选中的单元格
for ll_i=1 to il_selectedRowCount
//你自己的操作,如getitemstring(ll_i,“你的列名”)
next
说明:显示选择部分未经测试,不知是否可行!Top




