在Winform中的datagrid的如何添加一列checkbox控件的问题,请各位大侠帮帮忙,谢谢!

seawavefj 2005-12-26 11:43:11
在Winform中的datagrid的如何添加一列checkbox控件的问题,请各位大侠帮帮忙,谢谢!
...全文
173 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Taurus_li 2005-12-30
  • 打赏
  • 举报
回复
Private Sub setdgdDokyuStyle()
Dim lv_DataTable_Program As New DataTable
Dim lv_DataView_Program As DataView
Dim lv_DataColumn_Check As New DataColumn("選択", GetType(Boolean)) '選択
Dim lv_DataColumn_Num As New DataColumn("内容", GetType(String)) '内容
Dim ts As New DataGridTableStyle
Dim tc As DataGridTextBoxColumn
Dim tb As DataGridBoolColumn

dgdDokyu.CaptionVisible = False
lv_DataTable_Program.Columns.Clear()

lv_DataTable_Program.Columns.Add(lv_DataColumn_Check)
lv_DataTable_Program.Columns.Add(lv_DataColumn_Num)
lv_DataView_Program = New DataView(lv_DataTable_Program)
dgdDokyu.DataSource = lv_DataView_Program.Table
lv_DataView_Program.Table.DefaultView().AllowNew = False


'開始属性を設定
ts.MappingName = lv_DataTable_Program.TableName
ts.RowHeadersVisible = False

tb = New DataGridBoolColumn
With tb
.MappingName = "選択" '選択
.HeaderText = "選択" '選択
.Width = 50
.ReadOnly = False
.AllowNull = False
End With
ts.GridColumnStyles.Add(tb)

tc = New DataGridTextBoxColumn
With tc
.MappingName = "内容" '内容
.HeaderText = "内容" '内容
.Width = 686
.NullText = ""
.ReadOnly = False
End With
ts.GridColumnStyles.Add(tc)

dgdDokyu.TableStyles.Clear()
dgdDokyu.TableStyles.Add(ts)

End Sub
这样应该就可以了
hamadou 2005-12-26
  • 打赏
  • 举报
回复
因为在设置了数据源后,通过调用addselectcolumn()方法,来增加一个选入的列,然后调用了上面的settablestyle过程。
具体的就是:
1.首先通过select id ,name,...from table1 ,类似这样的sql语句来fill出一个datatable.
2.然后调用addselectcolumn方法
代码如下:

Private Sub addselectcolumn()
Dim c As New DataColumn("Isselect", GetType(Boolean))
c.DefaultValue = False
Me._datatableDetail.Columns.Add(c)

End Sub
3.最后调用settablestyle过程
seawavefj 2005-12-26
  • 打赏
  • 举报
回复
TO: hamadou(闵峰)
我参照你的方法测试了一下,出来的checkbox是灰显的,不能修改的,我的是想在datagrid中加个checkbox,要删除多条记录时,在checkbox中打勾,点删除就把那些勾起来的数据删除了。请问还有更好的方法吗?
hamadou 2005-12-26
  • 打赏
  • 举报
回复
Private Sub settablestyle()

Dim style As New DataGridTableStyle
style.AllowSorting = False
style.MappingName = Me._datatableDetail.TableName
Dim count As Integer = CType(grdDispList.DataSource, DataView).Table.Columns.Count
Dim i As Integer
Dim colCap() As String = {"客户编码", "客户名称", "收款日期", "往来编号", "本次收款金额", "类型", "状态", "备注"}

Dim colWidth() As Integer = {70, 100, 70, 70, 70, 50, 70, 80}

For i = 0 To count - 1
Select Case i
Case 0
Dim c As New DataGridBoolColumn
c.MappingName = "Isselect"
c.HeaderText = "是否选入"
c.Width = 60
c.AllowNull = False
style.GridColumnStyles.Add(c)
Case 1, 2, 3, 4, 5, 6, 7, 8
Dim c As New DataGridTextBoxColumn
c.MappingName = CType(grdDispList.DataSource, DataView).Table.Columns(i - 1).ColumnName
c.HeaderText = colCap(i - 1)
c.NullText = ""
c.Width = colWidth(i - 1)
c.ReadOnly = True
style.GridColumnStyles.Add(c)
End Select
Next

Me.grdDispList.TableStyles.Add(style)
End Sub
yrh2008sql 2005-12-26
  • 打赏
  • 举报
回复
你可以给datatable增加一列,然后给这一列的每个单元格增加一个checkbox
内容概要:本文详细介绍了Anaconda的下载、安装与配置方法(2025最新版)。Anaconda是一个开源的Python/R数据科学集成开发平台,预装了1500多个科学计算库,并提供conda包管理和环境管理功能。文章首先列出了系统要求,接着分别讲述了适用于不同操作系统的下载方式,包括官方下载和国内镜像下载。然后,具体讲解了Windows、macOS和Linux三种操作系统的安装步骤,以及环境变量的手动配置方法。此外,还提供了验证安装是否成功的命令和配置国内镜像源的方法,以提高下载速度。最后,列出了一些常用conda命令和常见问题的解决方案。 适合人群:从事数据科学、机器学习领域的研究人员和开发者,特别是需要频繁使用Python科学计算库的用户。 使用场景及目标:①帮助用户快速搭建Python开发环境,尤其是需要多个Python版本共存或隔离环境的情况下;②解决因网络原因导致的下载速度慢的问题;③提供详细的安装指南,确保安装过程顺利进行;④指导用户正确配置环境变量,避免常见的安装后无法使用的错误。 阅读建议:由于Anaconda涉及多平台安装和配置,建议读者根据自己的操作系统选择相应的章节重点阅读,并严格按照步骤操作。对于初次使用者,建议先从简单的安装入手,再逐步学习环境管理和包管理的相关命令。

16,722

社区成员

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

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