在 winform 中 DataGrid 中实现点击任一单元格都选中当前行
来源:互联网 发布:陈鸿一鸣 知乎 编辑:程序博客网 时间:2024/05/01 19:01
在 winform 中 DataGrid 中实现点击任一单元格都选中当前行
先需要重写一个方法:C#:
internal class DataGridNoActiveCellColumn : System.Windows.Forms.DataGridTextBoxColumn { //重载DataGridTextBoxColumn类的Edit方法,以便使点击DataGrid中任一单元格都选中当前行 protected override void Edit(CurrencyManager source, int rowNum, Rectangle bounds, bool readOnly, string instantText, bool cellIsVisible) { int SelectedRow = rowNum; this.DataGridTableStyle.DataGrid.Select(SelectedRow); } }
vb.net :Friend Class DataGridNoActiveCellColumnClass DataGridNoActiveCellColumn Inherits System.Windows.Forms.DataGridTextBoxColumn '重载DataGridTextBoxColumn类的Edit方法,以便使点击DataGrid中任一单元格都选中当前行 Protected Overloads Overrides Sub Edit()Sub Edit(ByVal [source] As CurrencyManager, ByVal rowNum As Integer, ByVal bounds As Rectangle, ByVal [readOnly] As Boolean, ByVal instantText As String, ByVal cellIsVisible As Boolean) Dim SelectedRow As Integer = rowNum Me.DataGridTableStyle.DataGrid.Select(SelectedRow) End SubEnd Class
设置datagrid样式: Private Sub Button1_Click()Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim tab As New DataTable("mytab") For i As Int32 = 0 To 1 tab.Columns.Add(New DataColumn("A" & i, Type.GetType("System.Decimal"))) Next tab.Columns(1).Expression = "Avg(a0)" Dim r As DataRow For i As Int32 = 0 To 10 r = tab.NewRow r("A0") = 5 + i tab.Rows.Add(r) Next Me.DataGrid1.DataSource = tab Dim tabStyle As New DataGridTableStyle Dim rCell As New DataGridNoActiveCellColumn rCell.MappingName = tab.Columns(0).ColumnName rCell.HeaderText = tab.Columns(0).ColumnName tabStyle.GridColumnStyles.Add(rCell) rCell.MappingName = tab.Columns(1).ColumnName rCell.HeaderText = tab.Columns(1).ColumnName rCell.Width = 100 tabStyle.GridColumnStyles.Add(rCell) tabStyle.MappingName = tab.TableName Me.DataGrid1.TableStyles.Add(tabStyle) End Sub
- 在 winform 中 DataGrid 中实现点击任一单元格都选中当前行
- 在 winform 中的 datagrid 中实现单元格双击事件
- 如何在Datawindow.net中实现让当前行选中,并且当前行以其他颜色显示
- UniEAP实现grid点击选中当前行
- 得到DataGrid中点击的当前行
- 如何得到DataGrid中点击的当前行?
- gridview中嵌套checkbox,如何在选中事件中获取当前行的索引值
- WPF中给datagrid控件中dataTable添加新行,并选中设为当前行(源码加注释)
- Gridview中checkbox选中时获取当前行id
- winform中DataGridView添加ComboBox的最终解决方案(点击ComboBox默认显示当前行的内容)
- Jquery Easy-UI中的Datagrid实现onclickrow无效果,onDblClickRow选中当前行
- EasyUI table中点击按钮获取当前行数据
- 点击Gridview行,选中/取消选中,当前行中的Checkbox
- [VB.NET]winform中如何在datagrid中使用复选框表示哪几行被选中
- 在按钮事件中访问GridView中当前行数据
- 在DataGrid中合并单元格行
- 右键点击DGV同时选中当前行的方法
- jqgrid禁掉点击行时,选中当前行。
- Two points - STL, and multi-threading
- zoj1014 不使用表达式树 ac
- 互联网开放平台技术趋势和讨论
- 想成为最牛程序员吗?以下几点有助你实现这个目标
- 浅谈Soap/Web Service架构及其应用
- 在 winform 中 DataGrid 中实现点击任一单元格都选中当前行
- Strong Name Remove v 2.1.0.0
- 用C#生成足够随机的互不相同的随机数
- 建立一个使用.Net 2.0 MemberShip功能的标准例程——配置篇
- 在 winform 中的 datagrid 中实现单元格双击事件
- C#常用函数和方法集汇总
- 在C#中out保留字怎么使用
- SetCompatibleTextRenderingDefault的作用是什么?
- 找不到org/eclipse/core/runtime/IStatus