根据标签控件值使gridview行变为粗体

时间:2012-10-31 06:25:49

标签: asp.net

我有一个标签控件,其值为

123 | value9 | value6 | value9

在这个标签控件下面,我有一个gridview,我想让gridview的那个项目粗体,它有一个linkbutton with 其中的价值

所以对于例如

value9     Value1             Value3                   Value4

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

900 value5 value3 value34

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

4 个答案:

答案 0 :(得分:2)

您可以在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
            }
        }
    }

答案 1 :(得分: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-to-columns

答案 2 :(得分:0)

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

messages = []
while True:
    new_message = input('Insert a message: ')
    if new_message == 'quit':
        break

    messages.append(new_message)

print(messages)

答案 3 :(得分: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

DataBound代码:

    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