为DataGridView设置ToolTip会自动创建列

时间:2013-09-09 13:47:51

标签: c# wpf datagridview tooltip autogeneratecolumn

我想以编程方式将工具提示设置为DataGridView中自动生成的列。 我试图使用AutoGeneratingColumn事件(http://msdn.microsoft.com/en-us/library/cc903950%28VS.95%29.aspx),但实际上只能访问DataGridColumn,而不是DataGridViewColumn,前者没有ToolTipText DataTable 1}}属性。

或者,如果我可以将工具提示绑定到一个也很棒的源。目标是能够在我为基础{{1}}设置列的相同位置操纵/设置工具提示。

2 个答案:

答案 0 :(得分:0)

我设法通过这种方式解决了问题:

void payloadDataGrid_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e)
{
    string tooltip = null;

    switch (e.Column.Header.ToString())
    {
        case "Column 1":
            tooltip = "Tooltip 1";
            break;
        case "Column 2":
            tooltip = "Tooltip 2";
            break;
    }

    if (tooltip != null)
    {
        var style = new Style(typeof(DataGridCell));
        style.Setters.Add(new Setter(ToolTipService.ToolTipProperty, tooltip));
        e.Column.CellStyle = style;
    }
}

答案 1 :(得分:0)

特定单元格的工具提示:

DataGridView1.Rows[3].Cells["colnameX"].ToolTipText = " hover and see me";

添加工具提示以动态添加行特定单元格

private void DataGridView1_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e)
{
    for (int index = e.RowIndex; index <= e.RowIndex + e.RowCount - 1; index++)                           
    {
        DataGridViewRow row = DataGridView1.Rows[index];
        row.Cells["colnameX"].ToolTipText = " hover and see me";

    }
}