/ / C # Zmeňte farbu pozadia textového poľa na zobrazenie mriežky - c #, asp.net, gridview, textové pole

C # Zmena farby pozadia textového poľa na zobrazenie mriežky - c #, asp.net, gridview, textové pole

Mám gridview s a TextBox v jednej z buniek na každom riadku. Mám pre každú riadku tlačidlo pre zadávanie údajov. Takže viem, v čom rade sa nachádzam. Zistil som, ako nastaviť farbu pozadia bunky, ale nie farbu pozadia TextBox, Vie niekto, ako to urobiť?

grIndex - Je to riadok, v ktorom som.

Cells[] - je stĺpec, v ktorom je bunka vložená.

Tu je kód, ktorý používam na nastavenie farby pozadia bunky.

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

Vopred ďakujem.

odpovede:

0 pre odpoveď č. 1

Musíte použiť FindControl a odneste ju späť do textovej schránky na prístup k jej vlastnostiam.

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

Alebo môžete použiť OnRowDataBound udalosť

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 pre odpoveď č. 2

Prišiel som na to. Ďakujem za pomoc každého.

((TextBox)) GridViewListComp.Rows [grIndex] .FindControl ("txtPolicy")) BackColor = Color.Yellow;