1

我有一个具有值的标签控件

123| 价值9| 值6|值9

在这个标签控件的正下方,我有一个 gridview,我想让 gridview 的那个项目加粗,其中有一个值为 123 的链接按钮

所以例如

value9     Value1             Value3                   Value4

345   Tested Value             Equipment1               Equipment3
456   Testing              Equipment9                   Equipment9
123   Value9               Valu6                         value9
789   Value8               Value10                         value20

900 值5 值3 值34

value9 中的所有值都是一个链接按钮。当标签控件中有 123 并且如果标签控件中有 789 时,我希望整行为粗体 123 Value9 Valu6 value9 ,那么我希望 789 Value8 Value10 value20 为粗体。任何帮助将不胜感激。

4

4 回答 4

3

您可以在 RowDataBound 事件中将行字体设置为粗体;

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    { 
        //Check if it is not header or footer row
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            //Check your condition here
            if(e.Row.Cells[0].Text.Equals("123"))
            {
                e.Row.Font.Bold = true; // This will make row bold
            }
        }
    }
于 2015-11-10T17:55:16.177 回答
1

查看RowDataBound事件。

使用GridViewRowEventArgs对象,获取对当前的引用Row并将其设置Font.Bold为 true

您还需要将您的 if 条件包含在 RowDataBound 事件中。你如何做到这一点取决于你的数据源:

if (e.Row.RowType == DataControlRowType.DataRow)
{
// use QuickWatch to see how you can get your desired information from e.Row.DataItem
}

我曾经写过一篇关于 RowDataBound 事件的文章:http ://www.tomot.de/en-us/article/7/asp.net/gridview-overview-of-different-ways-to-bind-data-到列

于 2012-10-31T06:34:08.117 回答
0

我现在正在尝试这个,它根本不起作用。我已经在 RowDataBound 和 DataBound 事件上进行了尝试。没有什么。在 vb.net 中,RowDataBound 代码:

    If e.Row.RowType = DataControlRowType.DataRow Then
        If e.Row.Cells(7).Text.Contains("Emdeon") Then
            e.Row.Font.Bold = True
        End If
    End If

数据绑定代码:

    For Each gvRow As GridViewRow In gvFiles.Rows
        If gvRow.Cells(7).Text.Contains("Emdeon") Then
            gvRow.Font.Bold = True
        End If
    Next

我在这些行上放了中断,所以我知道它们正在执行。它们没有效果。

更新:找到解决方案。这有效:

    If e.Row.RowType = DataControlRowType.DataRow Then
        If e.Row.Cells(7).Text.Contains("Emdeon") Then
            For Each cell In e.Row.Cells
                cell.font.bold = True
            Next
        End If
    End If
于 2020-01-22T19:12:48.413 回答
0

嗨,我知道这是一篇旧帖子,但它帮助我产生了在 rad gird 上加粗行的想法。因此,对于任何有兴趣将 rad 网格行加粗的人,您都可以使用下面的代码。

if (e.Item is GridDataItem)
            {
                GridDataItem item = (GridDataItem)e.Item;
                if (item["row_name"].Text.ToString() == "condition")
                {
                    item.Font.Bold = true;  //bold
                }

            }
于 2018-11-21T13:00:43.817 回答