c# WinForm开发 DataGridView控件的各种操作总结(单元格操作,属性设置)

本文详细总结了C# WinForm应用中使用DataGridView控件进行单元格操作和属性配置的方法,包括单元格数据修改、表头设置及自定义按钮等功能。
摘要由CSDN通过智能技术生成

c# WinForm开发 DataGridView控件的各种操作总结(单元格操作,属性设置)
2010-01-25 20:15

一、单元格内容的操作

 

*****// 取得当前单元格内容


        Console.WriteLine(DataGridView1.CurrentCell.Value); 
// 取得当前单元格的列 Index 
      Console.WriteLine(DataGridView1.CurrentCell.ColumnIndex); 
// 取得当前单元格的行 Index 
      Console.WriteLine(DataGridView1.CurrentCell.RowIndex);


*******另外,使用 DataGridView.CurrentCellAddress 属性(而不是直接访问单元格)来确定单元格所在的行:

DataGridView.CurrentCellAddress.Y 和列: DataGridView.CurrentCellAddress.X 。这对于避免取消共享行的共享非常有用。 
当前的单元格可以通过设定 DataGridView 对象的 CurrentCell 来改变。可以通过 CurrentCell 来设定 
DataGridView 的激活单元格。将 CurrentCell 设为 Nothing(null) 可以取消激活的单元格。

// 设定 (0, 0) 为当前单元格 
DataGridView1.CurrentCell = DataGridView1[0, 0]; 
在整行选中模式开启时,你也可以通过 CurrentCell 来设定选定行。 
        /// <summary> 
        /// 向下遍历 
        /// </summary> 
        /// <param ></param> 
        /// <param ></param> 
        private void button4_Click(object sender, EventArgs e) 
        ...{ 
            int row = this.dataGridView1.CurrentRow.Index + 1; 
            if (row > this.dataGridView1.RowCount - 1) 
                row = 0; 
            this.dataGridView1.CurrentCell = this.dataGridView1[0, row]; 
        }

        /// <summary> 
        /// 向上遍历 
        /// </summary> 
        /// <param ></param> 
        /// <param ></param> 
        private void button5_Click(object sender, EventArgs e) 
        ...{ 
            int row = this.dataGridView1.CurrentRow.Index - 1; 
            if (row < 0) 
                row = this.dataGridView1.RowCount - 1; 
            this.dataGridView1.CurrentCell = this.dataGridView1[0, row]; 
        } 
* 注意: this.dataGridView 的索引器的参数是: columnIndex, rowIndex 或是 columnName, rowIndex 
这与习惯不同。

********DataGridView 设定单元格只读:

1) 使用 ReadOnly 属性 
? 如果希望,DataGridView 内所有单元格都不可编辑, 那么只要: 
// 设置 DataGridView1 为只读 
DataGridView1.ReadOnly = true;此时,用户的新增行操作和删除行操作也被屏蔽了。

******如果希望,DataGridView 内某个单元格不可编辑, 那么只要:


// 设置 DataGridView1 的第2列整列单元格为只读 
DataGridView1.Columns[1].ReadOnly = true; 
// 设置 DataGridView1 的第3行整行单元格为只读 
DataGridView1.Rows[2].ReadOnly = true; 
// 设置 DataGridView1 的[0,0]单元格为只读 
DataGridView1[0, 0].ReadOnly = true;

*******DataGridView 行头列头的单元格


// 改变DataGridView1的第一列列头内容 
DataGridView1.Columns[0].HeaderCell.Value = "第一列"; 
// 改变DataGridView1的第一行行头内容 
DataGridView1.Rows[0].HeaderCell.Value = "第一行"; 
// 改变DataGridView1的左上头部单元内容 
DataGridView1.TopLeftHeaderCell.Value = "左上"; 
另外你也可以通过 HeaderText 来改变他们的内容。

// 改变DataGridView1的第一列列头内容 
DataGridView1.Columns[0].HeaderText = "第一列";


*********** DataGridView 单元格的ToolTip的设置


DataGridView.ShowCellToolTips = True 的情况下, 单元格的 ToolTip 可以表示出来。对于单元格窄小,无法完全显示的单元格, ToolTip 可以显示必要的信息。 
1) 设定单元格的ToolTip内容 
// 设定单元格的ToolTip内容 
DataGridView1[0, 0].ToolTipText = "该单元格的内容不能修改"; 
// 设定列头的单元格的ToolTip内容 
DataGridView1.Columns[0].ToolTipText = "该列只能输入数字"; 
// 设定行头的单元格的ToolTip内容 
DataGridView1.Rows[0].HeaderCell.ToolTipText = "该行单元格内容不能修改"; 
2) CellToolTipTextNeeded 事件 
在批量的单元格的 ToolTip 设定的时候,一个一个指定那么设定的效率比较低, 这时候可以利用 CellToolTipTextNeeded 事件。当单元格的 ToolTipText 变化的时候也会引发该事件。但是,当DataGridView的DataSource被指定且VirualMode=True的时候,该事件不会被引发。 
// CellToolTipTextNeeded事件处理方法 
private void DataGridView1_CellToolTipTextNeeded(object sender, 
    DataGridViewCellToolTipTextNeededEventArgs e) 

    e.ToolTipText = e.ColumnIndex.ToString() + ", " + e.RowIndex.ToString(); 
}

*******DataGridView 的单元格的边框、 网格线样式的设定


1) DataGridVi

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值