精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● VB和Basic>>Re:表的问题?

主题:Re:表的问题?
发信人: zhongwei-gz(下学期要补考)
整理人: winsy(2003-07-28 09:03:17), 站内信件
【 在 whbqa 的大作中提到:】
:在VB里的DataGrid表,我选一行不要让它进入一个字段的编辑状态,而是一行都显示为蓝色, 
:即我用鼠标点表里一条记录时,默认这条记录的这个点击字段显示蓝色,处于编辑状态,我想整个表不能编辑,点记录时,这条记录都显示蓝色。如何实现。谢谢!!! 
:......
 

以下为转贴:
来源:http://www.china-askpro.com/msg39/qa81.shtml

fm: 
    如何实现单击后被选中单元格所在行改变颜色,并弹出消息框,显示被选中单元格的内容?类似问题:如何实现双击后立即跳出一对话框? 

回答: 

    1、DataGrid控件本身不可能做到象你提到的这种功能。 
    2、在窗口的DataGrid控件上单击,在弹出菜单上选“折分“页的”记录选择器“每行前有个指示器,击指示器可选中该行。 
    3、这是个笨方法 
     (A)在单击事件中取(li_count=DataGrid1.Columns.Count)表总列数。 
     (B)动态生成一个文本框控件数组(TEXT[li_count],(最好用LABEL控件, 将其设为透时的也可。)修改每个元素以下属性:APPEARANCE设为0-FLAT, BORDERSTYLE为0-NONE,VISIBLE设为FALSE。 
     (C)在ROWCOLCHANGE事件中取(DataGrid1.Columns(第几列).Text)各列的值赋 给控件数组,并改控件数组的背景为你想要的颜色。(用LABEL可略此步) 
     (D)DataGrid1.Columns(0).Left取第一列的左边界, DataGrid1.Columns(0).TOP 取第一列的上边界, 
     DataGrid1.Columns(0).width 
     DataGrid1.Columns(0).height 赋给应放在当前行的文本控件的相应属性。 
     (E)设所有控件是可见的。 
    4、显示所选中的数据。在DATAGRID1的ROWCOLCHANGE事件中 
     dim li_data as string 
     dim li_col as integer 
     li_col =datagrid1.col 
     li_data=DataGrid1.Columns(li_col).Text 
     li_col=msgbox(li_data,vbOKOnly) 
    5.双击显示对话框 
     (a)在窗口中放MS common Dialog control 6.0控件 
     (b)在DATAGRID控件的双击中写 
     CommonDialog1.ShowOpen可以显示打开文件对话框。 




----
断 夕 古 小 枯
肠 阳 道 桥 藤
人 西 西 流 老
在 下 风 水 树
天   瘦 人 昏
涯   马 家 鸦  

[关闭][返回]