vb中的datagrid控件能否添加checkbox控件?如果不能,请问哪个控件能添加checkbox?

解决方案 »

  1.   

    先占了.
    我不知道datagrid 是否支持多行选择.(即LZ所说的CheckBox) 但是我知道 LISTVIEW 是支持的.
      

  2.   

    datagrid 还支持什么控件?
      

  3.   

    你是想知道LISTVIEW 怎么用呢>?
    还是要示例?
      

  4.   

    VB6控件LISTVIEW使用指南
    出处:网络 
         VB6无疑是当前最先进的编程工具之一,无论是它的代码编写还是与视窗98的完美结合, 都令人们特别是程序员们赞叹不已。在这里,我将自己在编程实践中对LISTVIEW控件的一些使用经验和心得体会与广大的同仁们作以探讨,希望大家批评指正,或者有所借鉴。 ---- 在VB6专业版或者企业版中,LISTVIEW控件并不是默认的工具箱的配置项目,你必须要手工添加---单击"工程"菜单项目,选择"部件",在部件对话框的"控件"栏目中选择"MICROSOFT WINDOWS COMMON CONTROLS 6.0",确认在它前面的复选框中有一个黑色的对号,单击"确认" 按钮,这时你的工具箱中便添加了几个控件,其中,有五个空心圆圈的便是LISTVIEW控件了, 当然怎么把它添加到窗体上就不用我多说了吧。 ---- 我个人认为,作为一个增强功能的列表框,它的本质是用来显示更多的信息的.因此, 在这篇文章中,我着重介绍它VIEW属性的LVWREPORT(报表)值的使用.至于它的外观怎样设计,诸位当然可以随心所欲了.为了直观一点,我举一个应用实例来说明。 ---- 设计完成后的主界面参见图一,它实际上是一个增强功能的文件浏览器。 ---- 首先新建一个标准EXE工程,主窗体名称为FRMMAIN,添加一个驱动器列表框DRIVE1,一个文件列表框FILE1(设置VISIBLE属性FALES,PATTERN属性(*.EXE;*.DLL)),一个目录列表框DIR1,一个增强列表框LISTVIEW1,一个IMAGE控件IMAGE1和一个IMAGELIST控件IMALIST1,在IMALIST1控件上单击右键,设计IMAGELIST控件,添加一个你最喜欢的图标(最好使用ICON图标),索引为一。在主窗体FRMMAIN的通用声明段输入以下代码: Dim clmX As ColumnHeader;标题栏Dim itmX As ListItem;列表项目Dim Counter As Long;计数器Dim Fname As String;读取文件名Dim dname As String;增强列表框完整路径名称Public CurrentDir As String;完整的目录名称在主窗体的LOAD事件中写入以下代码:Private Sub Form_Load()Me.Caption = App.Title;窗体的标题为生成可执行文件的标题Me.Left = (Screen.Width - Me.Width) / 2Me.Top = (Screen.Height - Me.Height) / 2;窗体位置在屏幕中间ListView1.ColumnHeaders.Add , , "文件名称",ListView1.Width / 3, 0’第一个标题栏是“文件名称“,长度为ListView1宽度的三分之一,文字左对齐Set clmX = ListView1.ColumnHeaders.Add(, , "序号", ListView1.Width / 5, 2)’第二个标题栏是“序号“ 依次往下Set clmX = ListView1.ColumnHeaders.Add(, , "文件大小 ", ListView1.Width / 4, 1)Set clmX = ListView1.ColumnHeaders.Add(,, "创建时间", ListView1.Width / 3, 0)ListView1.BorderStyle = ccFixedSingle;边界类型ListView1.SmallIcons = ImageList1 ;关联图标仓库ImageList1For Counter = 0 To File1.ListCount - 1Fname = File1.List(Counter);获取当前目录下符合条件的文件名Set itmX = ListView1.ListItems.Add(, , Fname)’文件名称栏目itmX.SubItems(1) = CStr(Counter + 1) + "/" + CStr(File1.ListCount)’文件在列表框位置itmX.SubItems(2) = CStr(FileLen(Fname));文件长度itmX.SmallIcon = 1;列表项目图标itmX.SubItems(3) = Format(FileDateTime(Fname),"hh:mm yyyy/MMMM/dd");文件创建时间Next CounterListView1.View = lvwReport;报表类型ListView1.Arrange = 0ListView1.LabelWrap = FalseDir1.ToolTipText = "当前目录是:" & Dir1.PathEND SUB双击驱动器列表框,输入以下代码:Private Static Sub Drive1_Change()On Error GoTo IFerr;拦截错误Dir1.Path = Drive1.Drive;关联目录列表框Exit SubIFerr:;如果磁盘错误MsgBox ("请确认驱动器是否准备好或者磁盘已经不可用!"),vbOKOnly + vbExclamation;弹出注意对话框Drive1.Drive=Dir1.Path;忽略驱动器改变End Sub双击目录列表框,输入以下代码:Private Static Sub Dir1_Change()File1.Path = Dir1.Path;关联文件列表框If Right(Dir1.Path, 1) < > "\" ThenCurrentDir = Dir1.Path & "\"ElseCurrentDir = Dir1.PathEnd If;设置选定的目录名称ListView1.ListItems.Clear;清除过期的列表项目For Counter = 0 To File1.ListCount - 1Fname = File1.List(Counter)Set itmX = ListView1.ListItems.Add(, , Fname);添加文件名itmX.SubItems(1) = CStr(Counter + 1) + "/"+ CStr(File1.ListCount)itmX.SubItems(2) = CStr(FileLen(CurrentDir & Fname))itmX.SmallIcon = 1itmX.SubItems(3) = Format(FileDateTime(CurrentDir& Fname), "HH:MM YYYY/MMMM/DD")Next Counter;添加增强列表框的各个项目Dir1.ToolTipText = "当前目录是:" & Dir1.Path;提示End Sub---- 通过以下代码取得鼠标单击增强列表框返回的项目名称: Private Sub ListView1_ItemClick(ByVal Item AsMSComctlLib.ListItem)allfname = Item;文件名dname= CurrentDir& Item;完整的路径和文件名sElectmain = ListView1.SelectedItem.Index;文件序号End Sub