Member 11065510 Ответов: 4

как изменить цвет определенной ячейки в GridView в зависимости от того, если условие


как изменить цвет определенной ячейки в GridView в зависимости от того, если условие

ChauhanAjay

Попробуйте эту ссылку
http://www.aspsnippets.com/Articles/Dynamically-change-GridView-Row-Background-Color-based-on-condition-in-ASPNet-using-C-and-VBNet.aspx

Надеюсь, это поможет

4 Ответов

Рейтинг:
2

Pikoh

Обычно я использую событие CellFormatting. Он срабатывает каждый раз, когда строка отображается в Datagrid. У тебя есть пример здесь[^]


Рейтинг:
1

Bhavik_Patel

вы можете сделать это с помощью события gridview RawDataBound

protected void grdDoc _RowDataBound(object sender, GridViewRowEventArgs e)
{
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            if ((string.IsNullOrEmpty(e.Row.Cells[3].Text) != true)
                  || (e.Row.Cells[3].Text != " "))
            {
                string result = Convert.ToInt32(e.Row.Cells[2].Text);
                if (result == "M.S")
                    e.Row.Cells[3].BackColor= System.Drawing.Color. Aquamarine;
                else
                    e.Row.Cells[3].BackColor= System.Drawing.Color. BlanchedAlmond;
            }
        }
    }
}

предпочитаю просматривать оригинальную статью на CodeProject
Изменение цвета строки в GridView in ASP.NET[^]


Рейтинг:
0

Raul Iloc

1.In дело о том, что ASP.NET проекты, в представлении сетки RowDataBound событие вы могли бы сделать это как в следующем примере:

protected void _yourGridView_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                if (e.Row.Cells[0].Text == "someValue") //Here is the condition!
                {
                    //   
                    //Change the cell color.
                    e.Row.Cells[0].ForeColor = System.Drawing.Color.Red;
                    //
                    //Change the back color.
                    e.Row.Cells[0].BackColor = Color.Yellow;
                    
                }
            }
        }

2.In в случае Windows Forms вы должны использовать объекты DataGridView, а для изменения цветов вы должны сделать это с помощью DataBindingComplete событие как в следующем примере:
private void _yourDataGridView_DataBindingComplete(object sender,
    DataGridViewBindingCompleteEventArgs e)
{
 //...
 //
if(condition) //Your condition!
{
_yourDataGridView.Item(0, 1).Style.ForeColor = Color.Red;
_yourDataGridView.Item(0, 1).Style.BackColor = Color.Yellow;
}
}


Member 11065510

извините, я новичок в .net, и я думаю, что Rowdatabound событие находится в asp.net ,но я хочу, чтобы этот код был включен c#.net форма выигрыша.............спасибо

Raul Iloc

1."Таблицы" объекты, используемые в приложении ASP.NET и в Windows формах "практическое руководство" объектов.
2.Смотрите мое обновление решения (2-й пункт)!

Рейтинг:
0

Member 13456217

https://www.aspsnippets.com/demos/1082/