与DataGrid的操作相关的问题

whitesnowdi 2004-11-09 05:56:38
向各位大虾请教一下,我在绑定到DataGrrid上的table中添加了一个列ds.Tables(0).Columns.Add(New DataColumn("Select", GetType(Boolean))),现在我想达到这样的效果,根据我从数据库中相应的字段取出的数据来设定这一列的单元格的状态,如果为0,则选择框为选定状态,如果为1则选择框为不想定状态,如果为其他值则为选定但不能操作的状态,如果只有选定和不选定状态,我可以这样实现
For i = 0 To dsCopy.Tables(0).Rows.Count - 1
If dsCopy.Tables(0).Rows(i).Item("选择") = "0" Then
ds.Tables(0).Rows(i).Item("选择") = True
Else
'ds.Tables(0).Rows(i).Item("选择") = False
ds.Tables(0).Rows(i).Item("选择") = False
End If
Next
但现在有第三个状态,为选定但不能操作的状态,我现在没有想出怎么实现,特向各位大虾请教
...全文
87 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Night_Elf 2004-11-10
  • 打赏
  • 举报
回复
从AntingZ(夕惕若) 处学来的!呵呵!
Night_Elf 2004-11-10
  • 打赏
  • 举报
回复
假设“选择”列为第3列,再添加一列,列名“IsReadOnly”,第4列
先写个循环,判断,如果该行可以修改,则IsReadonly=1,如果不可以,则为0,我相信这个你会写吧
在datagrid的CurrentCellChanged事件中:
if datagrid1.currentcell.columnNumber=3 and datagrid1.item(datagrid1.currentRowindex,4)=0 then '如果是第三列并且点中的行的第四列为0(可写),则
datagrid1.readonly=false
else ‘否则
datagrid1.readonly=true
end if
Night_Elf 2004-11-10
  • 打赏
  • 举报
回复
好办
如果是其他的情况,则设ds.Tables(0).Rows(i).Item("选择")=null
等我写一下代码
whitesnowdi 2004-11-10
  • 打赏
  • 举报
回复
我现在的要求是DataGrid中除了有选择框的这列可编辑以外,其他列都不能编辑,并且选择列中要有些行只显示出来为选定状态但不能修改,某些行可以修改选定状态
earlsen 2004-11-09
  • 打赏
  • 举报
回复
再加一列,那列宽度为0,为实际列
youlongzaitian 2004-11-09
  • 打赏
  • 举报
回复
并且把输出数据库中选择状态的那列隐藏起来!这样就不影响用户操作了!
youlongzaitian 2004-11-09
  • 打赏
  • 举报
回复
那就再加一列,在那列中输出数据库中选择的状态,如果为其他状态,则DATAGRID只读,为选择或者不选择状态时,DATAGRID中那列允许修改!

16,554

社区成员

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

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