20.3 使用技巧2
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的
20.3.3 修改表头单元格
设置列表头单元格的内容:
一是可以通过 DataGridView.Columns[列号].HeaderCell来获得对应列的单元格,再设置该单元格的Value属性
例如:将第1列的列表头从"ID"修改为 "序号"
dgv.Columns[0].HeaderCell.Value = "序号";
二是直接设置DataGridView.Columns[列号].HeaderText
例如:将第2列的列表头从"学校"修改为 "小学"
dgv.Columns[1].HeaderText = "小学";
设置行表头单元格的内容:
通过 DataGridView.Rows[列号].HeaderCell来获得对应列的单元格,再设置该单元格的Value属性
例如:
dgv.Rows[0].HeaderCell.Value = “1”;
除了列表头和行表头外,还有一个比较特殊的单元格,即位于DataGridView左上角的标题单元格,直接设置DataGridView.TopLeftHeaderCell.Value即可。
例如:
dgv.TopLeftHeaderCell.Value = "排序";
【例 20.6】【项目:code20-006】修改表头单元格。
private void button1_Click(object sender, EventArgs e)
{
dgv.Columns[0].HeaderCell.Value = "序号";
dgv.Columns[1].HeaderText = "小学";
for (int i = 0; i < dgv.Rows.Count; i++)
dgv.Rows[i].HeaderCell.Value = (i + 1).ToString();
dgv.TopLeftHeaderCell.Value = "排序";
}
运行结果如下图所示:
图20-14 修改表头单元格
20.3.4 拷贝单元格文本值
拷贝单元格数据,首先要设置DataGridView的DataGridViewClipboardCopyMode属性,拷贝到剪贴板的样式,这是一个DataGridViewClipboardCopyMode枚举,包括以下成员:
- Disable:禁用剪贴板。
- EnableAlwaysIncludeHeaderText:复制所选单元格的文本值。为所选单元格所在的行和列包含表头值,即使没有选中表头。
- EnableWithAutoHeaderText:复制所选单元格的文本值。仅当DataGridView.SelectionMode属性设置为RowHeaderSelect或ColumnHeaderSelect,并且至少选择了一个标题时,才为所选单元格所在的行或列包含行或列标题文本。
- EnableWithoutHeaderText:复制所选单元格的文本值,即使选择的时候包含了列表头或者行表头,都不会复制表头的值。
然后使用GetClipboardContent方法将选中单元格的值加入到剪贴板。
GetClipboardContent
【例 20.7】【项目:code20-007】拷贝单元格文本值。
private void button1_Click(object sender, EventArgs e)
{
//拷贝时包含表头
dgv.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText;
//选中部分拷贝
Clipboard.SetDataObject(dgv.GetClipboardContent());
}
读者可以执行以上代码后,打开Excel,然后点击粘贴查看粘贴的数据。