加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

DataGridView控件用法合集(三)

发布时间:2020-12-16 22:45:25 所属栏目:大数据 来源:网络整理
导读:DataGridView控件用法合集(三) 整理 By Tyouvivi 整理日 2007年06月12日 第三部分 近期将DataGridView常用的一些用法做了一个整理。为防止页面过长,现分批贴出来,此为第三部分。 13. DataGridView指定单元格是否表示 14. DataGridView表头部单元格取得 15.
DataGridView控件用法合集(三)
整理 By Tyouvivi 整理日 2007年06月12日 第三部分

近期将DataGridView常用的一些用法做了一个整理。为防止页面过长,现分批贴出来,此为第三部分。
13. DataGridView指定单元格是否表示
14. DataGridView表头部单元格取得
15. DataGridView表头部单元格文字列设定
16. DataGridView选择的部分拷贝至剪贴板
17.DataGridView粘贴
18. DataGridView单元格上ToolTip表示设定(鼠标移动到相应单元格上时,弹出说明信息)

13. DataGridView指定单元格是否表示

[VB.NET]

If Not DataGridView1(0,0).Displayed AndAlso _

DataGridView1(0,0).Visible Then

DataGridView1.CurrentCell = DataGridView1(0,0)

End If

[C#]

if (!DataGridView1[0,0].Displayed && DataGridView1[0,0].Visible)

{

DataGridView1.CurrentCell = DataGridView1[0,0];

}

14. DataGridView表头部单元格取得

[VB.NET]

'DataGridView1のはじめの列のテキストを変更する

DataGridView1.Columns(0).HeaderCell.Value = "はじめの列"

'DataGridView1のはじめの行のテキストを変更する

DataGridView1.Rows(0).HeaderCell.Value = "はじめの行"

'DataGridView1の左上隅のセルのテキストを変更する

DataGridView1.TopLeftHeaderCell.Value = "左上"

[C#]

//DataGridView1のはじめの列のテキストを変更する

DataGridView1.Columns[0].HeaderCell.Value = "はじめの列";

//DataGridView1のはじめの行のテキストを変更する

DataGridView1.Rows[0].HeaderCell.Value = "はじめの行";

//DataGridView1の左上隅のセルのテキストを変更する

DataGridView1.TopLeftHeaderCell.Value = "左上";

15. DataGridView表头部单元格文字列设定
更改列Header表示文字列

[VB.NET]

'DataGridView1のはじめの列のテキストを変更する

DataGridView1.Columns(0).HeaderText = "はじめの列"

[C#]

//DataGridView1のはじめの列のテキストを変更する

DataGridView1.Columns[0].HeaderText = "はじめの列";

更改行Header表示文字列

[VB.NET]

'DataGridView1の行ヘッダーに行番号を表示する

Dim i As Integer

For i = 0 To DataGridView1.Rows.Count - 1

DataGridView1.Rows(i).HeaderCell.Value = i.ToString()

Next i

'行ヘッダーの幅を自動調節する

DataGridView1.AutoResizeRowHeadersWidth( _

DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders)

[C#]

//DataGridView1の行ヘッダーに行番号を表示する

for (int i = 0; i < DataGridView1.Rows.Count; i++)

{

DataGridView1.Rows[i].HeaderCell.Value = i.ToString();

}

//行ヘッダーの幅を自動調節する

DataGridView1.AutoResizeRowHeadersWidth(

DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders);

最左上Header单元格文字列

[VB.NET]

'左上隅のヘッダーセルに"/"と表示する

DataGridView1.TopLeftHeaderCell.Value = "/"

[C#]

//左上隅のヘッダーセルに"/"と表示する

DataGridView1.TopLeftHeaderCell.Value = "/";

16. DataGridView选择的部分拷贝至剪贴板
拷贝模式设定

[VB.NET]

'ヘッダーをコピーしないようにする

DataGridView1.ClipboardCopyMode = _

DataGridViewClipboardCopyMode.EnableWithoutHeaderText

[C#]

//ヘッダーをコピーしないようにする

DataGridView1.ClipboardCopyMode =

DataGridViewClipboardCopyMode.EnableWithoutHeaderText;

选中部分拷贝

[VB.NET]

'選択されたセルをクリップボードにコピーする

Clipboard.SetDataObject(DataGridView1.GetClipboardContent())

[C#]

//選択されたセルをクリップボードにコピーする

Clipboard.SetDataObject(DataGridView1.GetClipboardContent());

17.DataGridView粘贴

[VB.NET]

'現在のセルのある行から下にペーストする

If DataGridView1.CurrentCell Is Nothing Then

Return

End If

Dim insertRowIndex As Integer = DataGridView1.CurrentCell.RowIndex

'クリップボードの内容を取得して、行で分ける

Dim pasteText As String = Clipboard.GetText()

If String.IsNullOrEmpty(pasteText) Then

Return

End If

pasteText = pasteText.Replace(vbCrLf,vbLf)

pasteText = pasteText.Replace(vbCr,vbLf)

pasteText.TrimEnd(New Char() {vbLf})

Dim lines As String() = pasteText.Split(vbLf)

Dim isHeader As Boolean = True

For Each line As String In lines

'列ヘッダーならば飛ばす

If isHeader Then

isHeader = False

Else

'タブで分割

Dim vals As String() = line.Split(ControlChars.Tab)

'列数が合っているか調べる

If vals.Length - 1 <> DataGridView1.ColumnCount Then

Throw New ApplicationException("列数が違います。")

End If

Dim row As DataGridViewRow = DataGridView1.Rows(insertRowIndex)

'ヘッダーを設定

row.HeaderCell.Value = vals(0)

'各セルの値を設定

Dim i As Integer

For i = 0 To row.Cells.Count - 1

row.Cells(i).Value = vals((i + 1))

Next i

'次の行へ

insertRowIndex += 1

End If

Next line

[C#]

//現在のセルのある行から下にペーストする

if (DataGridView1.CurrentCell == null)

return;

int insertRowIndex = DataGridView1.CurrentCell.RowIndex;

//クリップボードの内容を取得して、行で分ける

string pasteText = Clipboard.GetText();

if (string.IsNullOrEmpty(pasteText))

return;

pasteText = pasteText.Replace("/r/n","/n");

pasteText = pasteText.Replace('/r','/n');

pasteText.TrimEnd(new char[] { '/n' });

string[] lines = pasteText.Split('/n');

bool isHeader = true;

foreach (string line in lines)

{

//列ヘッダーならば飛ばす

if (isHeader)

{

isHeader = false;

continue;

}

//タブで分割

string[] vals = line.Split('/t');

//列数が合っているか調べる

if (vals.Length - 1 != DataGridView1.ColumnCount)

throw new ApplicationException("列数が違います。");

DataGridViewRow row = DataGridView1.Rows[insertRowIndex];

//ヘッダーを設定

row.HeaderCell.Value = vals[0];

//各セルの値を設定

for (int i = 0; i < row.Cells.Count; i++)

{

row.Cells[i].Value = vals[i + 1];

}

//次の行へ

insertRowIndex++;

}

18. DataGridView单元格上ToolTip表示设定(鼠标移动到相应单元格上时,弹出说明信息)

[VB.NET]

'セルに表示するToolTipを設定する

DataGridView1(0,0).ToolTipText = "このセルは変更できません"

'列ヘッダーに表示するToolTipを設定する

DataGridView1.Columns(0).ToolTipText = "この列には数字を入力できます"

'行ヘッダーに表示するToolTipを設定する

DataGridView1.Rows(0).HeaderCell.ToolTipText = "この行のセルは変更できません"

[C#]

//セルに表示するToolTipを設定する

DataGridView1[0,0].ToolTipText = "このセルは変更できません";

//列ヘッダーに表示するToolTipを設定する

DataGridView1.Columns[0].ToolTipText = "この列には数字を入力できます";

//行ヘッダーに表示するToolTipを設定する

DataGridView1.Rows[0].HeaderCell.ToolTipText = "この行のセルは変更できません";

CellToolTipTextNeeded事件,在多个单元格使用相同的ToolTips的时候,可以用该事件,下例为显示当前单元格的行号和列号

[VB.NET]

'CellToolTipTextNeededイベントハンドラ

Private Sub DataGridView1_CellToolTipTextNeeded(ByVal sender As Object,_

ByVal e As DataGridViewCellToolTipTextNeededEventArgs) _

Handles DataGridView1.CellToolTipTextNeeded

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

End Sub

[C#]

//CellToolTipTextNeededイベントハンドラ

private void DataGridView1_CellToolTipTextNeeded(object sender,

DataGridViewCellToolTipTextNeededEventArgs e)

{

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

}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读