zoukankan      html  css  js  c++  java
  • DataGridView控件用法合集(三)(转载)

    转载自:http://blog.sina.com.cn/s/blog_59181ec70100cf6l.html~type=v5_one&label=rela_nextarticle

    1. DataGridView指定单元格是否表示
    2. DataGridView表头部单元格取得
    3. DataGridView表头部单元格文字列设定
    4. DataGridView选择的部分拷贝至剪贴板
    5. DataGridView粘贴
    6. DataGridView单元格上ToolTip表示设定(鼠标移动到相应单元格上时,弹出说明信息)

    1.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];
    }

    2.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 = "左上";

    3.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 = "/";

    4.DataGridView选择的部分拷贝至剪贴板

    拷贝模式设定

    [VB.NET]
    'ヘッダーをコピーしないようにする
    DataGridView1.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableWithoutHeaderText
    [C#]
    //ヘッダーをコピーしないようにする
    DataGridView1.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableWithoutHeaderText;

    选中部分拷贝

    [VB.NET]
    '選択されたセルをクリップボードにコピーする
    Clipboard.SetDataObject(DataGridView1.GetClipboardContent())
    [C#]
    //選択されたセルをクリップボードにコピーする
    Clipboard.SetDataObject(DataGridView1.GetClipboardContent());

    5.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++;
    }

    6.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();
    }
  • 相关阅读:
    Block深入浅出
    JSPatch 遇上swift
    iPhone左下角app图标
    Handoff使用指南
    实习任务——导出excel
    实习任务——对查询结果进行筛选过滤
    Markdown基本语法
    学习笔记(二)——类加载及执行顺序
    #学习笔记(一)——static
    写给过去的3年,拥抱2016
  • 原文地址:https://www.cnblogs.com/MFxxk/p/1656461.html
Copyright © 2011-2022 走看看