Как динамически назначить BackColor строке GridView? - PullRequest
1 голос
/ 29 ноября 2010

Я работаю над страницей ASP.Net, содержащей GridView, который заполнен заказами клиентов, возвращенными хранимой процедурой. То, что я хотел бы сделать, это динамически изменить задний цвет строк GridView, чтобы указать приоритет.

Хранимая процедура возвращает целое число, указывающее приоритет записей, я думаю, мне просто нужно перевести целое число в цвет, а затем заставить строку GridView отображать его.

Часть, которая заставляет отображать строку в GridView, - это то, что доставляет мне неприятности.

Какой лучший способ сделать это? Кто-нибудь может привести пример?

Заранее спасибо.

1 Ответ

3 голосов
/ 29 ноября 2010

После образца решения:

C #: ASPX:

<asp:GridView ID="GridView1" runat="server" OnRowDataBound="GridView1_RowDataBound" >
...
</asp:GridView>

отделенный код:

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        int priority = (int)DataBinder.Eval(e.Row.DataItem, "priority");
        switch (priority)
        {
           case 1: 
              e.Row.BackColor = Drawing.Color.Green;
              break;
           case 2:
              e.Row.BackColor = Drawing.Color.Red;
              break;
           default:
              e.Row.BackColor = Drawing.Color.Black;
              break;
        }
    }
}

Код VB.Net за:

Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound
    Select Case e.Row.RowType
        Case DataControlRowType.DataRow
            Dim priority As Int32 = DirectCast(DataBinder.Eval(e.Row.DataItem, "priority"), Int32)
            Select Case priority
                Case 1
                    e.Row.BackColor = Drawing.Color.Green
                Case 2
                    e.Row.BackColor = Drawing.Color.Red
                Case Else
                    e.Row.BackColor = Drawing.Color.Black
            End Select
    End Select
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...