2016-11-14 149 views
1

我有一個gridview與TextBox在每行的單元格之一。我爲每行輸入一個數據按鈕。所以我知道我在哪一行。我想出瞭如何設置單元格的背景顏色,但不知道TextBox的背景顏色。有誰知道如何做到這一點?C#更改gridview上的文本框的背景顏色

grIndex - 是在我行

Cells[] - 是列的單元格是

這裏是我使用的設置單元格背景顏色的代碼。

GridViewListComp.Rows[grIndex].Cells[5].BackColor = Color.Yellow; 

在此先感謝。

+0

檢查此https://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.cellformatting(v=vs.110).aspx – mybirthname

回答

0

您必須使用FindControl並將其轉換回文本框以訪問其屬性。

TextBox textbox = GridView1.Rows[grIndex].Cells[5].FindControl("TextBox1") as TextBox; 
textbox.BackColor = Color.Green; 

或者你可以使用OnRowDataBound事件

protected void GridViewListComp_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    if (e.Row.RowType == DataControlRowType.DataRow) 
    { 
     TextBox textbox = e.Row.FindControl("TextBox1") as TextBox; 
     textbox.BackColor = Color.Green; 
    } 
} 
0

我想通了。感謝大家的幫助。 ((TextBox))GridViewListComp.Rows [grIndex] .FindControl(「txtPolicy」))。BackColor = Color.Yellow;