DataGridView的列显示与隐藏功能

bpcbrr 2014-12-17 04:23:25
效果图如下:


只要在DataGridView控件的左上角右击,就会在右击处出现CheckBoxList,CheckBoxList中的每一个项都是DataGridView的列名,默认情况下所有项都会被选定。取消某一项的选定后,相应的列就会隐藏,如果选定了,相应的列就会显示。

请问VB代码中该怎样写? 多谢大虾
...全文
246 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
一如既往哈 2014-12-31
  • 打赏
  • 举报
回复
百度来的地址:http://www.wzsky.net/html/program/net/28454.html,你自己看看
一如既往哈 2014-12-31
  • 打赏
  • 举报
回复
没用过DataGridView 。下面是搜的代码可以判断出单击位置,你可以用picturebox等模拟一下就可以了:
Dim rowNum, columnNum As Integer '分别是行号和列号
Private Sub DataGrid1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles DataGrid1.MouseDown
  Dim myGrid As DataGrid = CType(sender, DataGrid)
    Dim hti As System.Windows.Forms.DataGrid.HitTestInfo
    hti = myGrid.HitTest(e.X, e.Y)
    If e.Button = MouseButtons.Right And e.Clicks = 1 Then '如果是鼠标右击
        Select Case hti.Type '
            Case System.Windows.Forms.DataGrid.HitTestType.Cell, System.Windows.Forms.DataGrid.HitTestType.RowHeader, System.Windows.Forms.DataGrid.HitTestType.ColumnHeader
                rowNum = hti.Row        '获得鼠标右击所在行
                columnNum = hti.Column  '获得鼠标右击所在列
        End Select
    End If
End Sub


笨狗先飞 2014-12-30
  • 打赏
  • 举报
回复
用个picturebox就好了,只是没用过DataGridView
bpcbrr 2014-12-30
  • 打赏
  • 举报
回复
我靠,没人知道?
*调整导出及打印的格式与显示一致;合计行,详细参见第10条修正功能,全部源码及示例。 * 文 件 名:DataGridViewEx.cs * 创 建 人:明振居士 * Email:nzj.163@163.com qq:342155124 * 创建时间:2010-06-01 * 最后修改时间:2012-1-19 增加第10条所示的功能;修改了头超过26的错误,导出excel为数组方式,速度更快,导出的单元格设置为文本格式。 * 标 题:用户自定义的DataGridView控件 * 功能描述:扩展DataGridView控件功能 * 扩展功能: * 1、搜索Search(); 有两个同明方法,参数不同 F3为快捷键继续向下搜索 * 2、用TreeView HeadSource 来设置复杂的标题样式,如果某个节点对应的显示隐藏,请将该节点Tag设置为hide,隐藏的排位置与绑定数据元位置对应,树叶节点的顺序需要与结果集的顺序一致 * 3、通过反射导出Excel,无需引用com组件,方法ExportExcel() ,不受数的限制,表头同样可以导出,AutoFit属性设置导出excel后是否自动调整单元格宽度 * 导出内容支持自定义的:Title List Header List Footer,支持在设计时值的设定,窗口关闭时Excel资源自动彻底释放 * 4、可以自己任意设定那些显示及不显示,通过调用方法SetColumnVisible()实现。 * 5、设置标题SetHeader(),设置永远可见AlwaysShowCols(),设置暂时不可见HideCols() * 注意,当使用了TreeView作为复杂Header时,不要使用本方法,Header显示的内容根据treeview内容而显示 * 6、宽度及顺序的保存SaveGridView(),加载LoadGridView() * 7、支持所见即所得的打印功能,举例如下 * private void button5_Click(object sender, EventArgs e) { DGVPrinter printer = new DGVPrinter(); printer.PrintPreviewDataGridView(DataGridViewEx1); } * 8、自定义合并行与,行合并用 MergeRowColumn 属性,合并用MergeColumnNames属性,都可以定义多个 * 9、行标号的设置 bool ShowRowNumber; * 10、增加最后一行的汇总行,支持的聚合函数,参见http://msdn.microsoft.com/zh-cn/library/system.data.datacolumn.[removed]v=VS.100).aspx * 假设对id显示“合计”字符,avgPrice进行平均值,total显示合计,则对ComputeColumns增加三行内容:id,合计:;avgPrice,Avg(avgPrice);total,Sum(total) * 如果需要对值进行格式控制,请实现beforeShow事件 * 增加了导出和打印对应的支持,所见即所得的对齐方应用于式导出及打印。

1,451

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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