Dinesh Kumar Ответов: 1

Я хочу выделить цвет строки в gridview для кнопок edit, select, delete


Привет,
Мне нужно выделить строки для редактирования,выбора, удаления событий. Моя проблема заключается в том, что если нажать кнопку Выбрать в 1-й строке, то строка будет выделена желтым цветом, а затем я нажму кнопку Изменить в 3-й, то это означает, что 1-я спина к спине к нормальному цвету и 3-я будет выделена.Но для кнопки удаления, если 1-я строка выбрана с помощью edit или select, то после того, как я нажму Delete в 4-й строке, обе 2 строки будут выделены. когда я нажимаю кнопку Удалить, это означает, что мне нужно отображать только ту конкретную строку, которая только выделена, и я использую кнопки Select, Edit in Gridview command и Delete я использую кнопку image. Пожалуйста, помогите мне сделать это. Заранее спасибо

Что я уже пробовал:

охраняемых недействительными GridView1_SelectedIndexChanged(объект отправителя, EventArgs в электронной)
{

GridView1.SelectedRow.BackColor = Система.Рисование.Цвет.Желтый;
}
  private void ClearBackColor()
        {
            foreach (GridViewRow row1 in GridView1.Rows)
            {
                row1.BackColor = System.Drawing.Color.White;
            }
        }

        protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
        {
             ClearBackColor();
             GridView1.SelectedRow.BackColor = System.Drawing.Color.Yellow;
        }

 protected void GridView1_RowDataBound1(object sender, GridViewRowEventArgs e)
        {

            if (e.Row.RowType == DataControlRowType.DataRow)
            {
ImageButton l = (ImageButton)e.Row.FindControl("ImageButton1");
                l.Attributes.Add("OnClick", "this.originalcolor=this.style.backgroundColor;" + " this.parentNode.parentNode.style.backgroundColor='red';" +
                "if (confirm('Are you sure you want to delete this record " +
                DataBinder.Eval(e.Row.DataItem, "UKC_LEDGER_CODE") + "'))return true;else {this.parentNode.parentN
}
}

1 Ответов

Рейтинг:
6

RickZeeland

См. вопрос здесь: .net-C# Как установить определенный стиль ячейки для полной строки без постоянного изменения DefaultCellStyle-Stack Overflow[^]

private void myDataGridView_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
    if (e.ColumnIndex == 1)
    {
        if (myDataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex].Value == "abc")
        {
            //e.CellStyle.BackColor = Color.Yellow;
            e.CellStyle.ForeColor = Color.Red;
        }
    }

    if (e.ColumnIndex == 4)
    {
        var check = myDataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex].Value;

        if (check != null && (bool)check == true)
        {
            e.CellStyle.BackColor = Color.Gray;
            e.CellStyle.ForeColor = Color.Red;
        }
    }
}

Для ASP.NET видеть: Изменение цвета строки в GridView в ASP.NET[^]
Как сделать Gridview Row Color/ Cell Color/ Text Color " дьяволы работают[^]


Dinesh Kumar

Это работает на оконных формах, и я использую веб-формы. можете ли вы помочь, как это сделать в веб-формах