Previous topicNext topic
Help > 开发指南 > 数据处理典型场景 > 表格常规操作 >
单元格动态提示

我们可以通过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。

只要使用代码设置了此属性,就可以实现单元格内容直接显示了。