目录
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.Columns(0).HeaderCell.Value = "开头列"
DataGridView1.Rows(0).HeaderCell.Value = "开头行"
DataGridView1.TopLeftHeaderCell.Value = "左上"
[C#]
DataGridView1.Columns[0].HeaderCell.Value = "开头列";
DataGridView1.Rows[0].HeaderCell.Value = "开头行";
DataGridView1.TopLeftHeaderCell.Value = "左上";
15. DataGridView表头部单元格文字列设定
更改列Header表示文字列
[VB.NET]
DataGridView1.Columns(0).HeaderText = "はじめの列"
[C#]
DataGridView1.Columns[0].HeaderText = "はじめの列";
更改行Header表示文字列
[VB.NET]
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#]
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]
DataGridView1(0, 0).ToolTipText = "这个单元格是不可更改的"
DataGridView1.Columns(0).ToolTipText = "你可以在这一列输入数字"
DataGridView1.Rows(0).HeaderCell.ToolTipText = "这行的单元格是不可更改的"
[C#]
DataGridView1[0, 0].ToolTipText = "这个单元格是不可更改的";
DataGridView1.Columns[0].ToolTipText = "你可以在这一列输入数字";
DataGridView1.Rows[0].HeaderCell.ToolTipText = "这行的单元格是不可更改的";
CellToolTipTextNeeded事件,在多个单元格使用相同的ToolTips的时候,可以用该事件,下例为显示当前单元格的行号和列号
[VB.NET]
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#]
private void DataGridView1_CellToolTipTextNeeded(object sender,
DataGridViewCellToolTipTextNeededEventArgs e)
{
e.ToolTipText = e.ColumnIndex.ToString() + ", " + e.RowIndex.ToString();
}
欢迎微信技术交流: