2013-03-11 3 views
1

Я строю Gridview, который будет выглядеть как бумажная форма, чтобы включить ввод результатов теста в систему.ASP.Net Gridview Установка обратного цвета строки разделителя

На форме есть разделители строк между рядами 8 & 9, 16 25.

я использовал блок кода приводится ниже, чтобы вставить строку и что работает нормально в отношении вставляя строку в нужное место.

Моя проблема в том, что строка выглядит белой, и я хочу, чтобы она имела отличительный цвет (на данном этапе не имеет значения, какой именно цвет). Заявление об установке BackColo r не работает, но интересно, что делает оператор Height.

Может кто подскажет, почему цвет фона не установлен?

Благодаря

if (e.Row.RowType == DataControlRowType.DataRow) 
{ 
    var rownumber = Convert.ToInt32((DataBinder.Eval(e.Row.DataItem, "RowNumber"))); 

    if (rownumber < 32 && rownumber % 8 == 0) 
    { 
     var tbl = (Table)e.Row.Cells[0].Parent.Parent; 
     var tr = new GridViewRow(e.Row.RowIndex + 1, 0, DataControlRowType.Separator, DataControlRowState.Normal) 
       { 
        Height = Unit.Parse("16px"), 
        ID = "MyExtraTr" + e.Row.RowIndex.ToString(), 
        BackColor = System.Drawing.Color.DarkSalmon 
       }; 
     tbl.Controls.Add(tr); 
    } 
} 
+1

Попробуйте установить обратную цветность каждой ячейки в строке –

ответ

3

Я добавил следующее под tbl.Controls.Add(tr);: -

 var c = new TableCell {BackColor = System.Drawing.Color.SlateGray, ColumnSpan = gv_ReviewTestResults.Columns.Count}; 
     tr.Cells.Add(c); 

и теперь он работает отлично. Я не знаю, если это лучший способ сделать это, но он работает!

Смежные вопросы