我们可以通过BaseGrid.ShowToolTip方法和BaseGrid.HideToolTip方法来实现鼠标移动到指定单元格时,可以根据我们的需要提示相关信息。
Vb.Net |
Public Sub MouseEnterCell(sender As Object,e As C1.Win.C1FlexGrid.RowColEventArgs) Dim tbl As SmGrid=sender '如果进入指定列的单元格 If tbl.Cols(e.Col).Name="FullName" Then Dim strMessage As String=tbl.Rows(e.Row)(e.Col) '如果当前单元格的字段不为空,就可以显示相应的文本。这里我们也可以自己随意指定其他任何提示信息 If Not String.IsNullOrEmpty(strMessage) Then tbl.ShowToolTip(strMessage,e.Row,e.Col,2000) End If End If End Sub Public Sub MouseLeaveCell(sender As Object,e As C1.Win.C1FlexGrid.RowColEventArgs) Dim tbl As SmGrid=sender If tbl.Cols(e.Col).Name="FullName" Then tbl.HideToolTip() End If End Sub |
C# |
public void MouseEnterCell(object sender, C1.Win.C1FlexGrid.RowColEventArgs e) { SmGrid tbl = sender; // 如果进入指定列的单元格 if (tbl.Cols[e.Col].Name == "FullName") { string strMessage = tbl.Rows[e.Row][e.Col].CType<string>(""); // 如果当前单元格的字段不为空,就可以显示相应的文本。这里我们也可以自己随意指定其他任何提示信息 if (!string.IsNullOrEmpty(strMessage)) tbl.ShowToolTip(strMessage, e.Row, e.Col, 2000); } } public void MouseLeaveCell(object sender, C1.Win.C1FlexGrid.RowColEventArgs e) { SmGrid tbl = sender; if (tbl.Cols[e.Col].Name == "FullName") tbl.HideToolTip(); } |
最终运行效果如下:
如果我们只是想把当前单元格中隐藏的部分内容显示的话,还可以使用表格中的ShowCellLabels属性,比如:Proj.CurrentGrid.ShowCellLabels=True。
只要使用代码设置了此属性,就可以实现单元格内容直接显示了。