c# - Asp.net - Changing Textbox field into label in gridview at code behind -
<itemtemplate> <asp:textbox id="q1" runat="server" text='<%# bind("q1") %>'></asp:textbox> </itemtemplate> . . . <itemtemplate> <asp:textbox id="q2" runat="server" text='<%# bind("q2") %>'></asp:textbox> </itemtemplate> i have page fields textbox , change of them label based on condition in code behind.
for example if window_name='q2' --> make q2 q3 q4 textbox , q1 label if window_name='q3' make q3 , q4 textbox q1 , q2 label
btw, i'm not using edit/select gridview modes made bulk update gridview (one button update rows)
i'm trying sample of 2 controls , sample grid view id 'gridview1' here, alter according code:
you either have labels created instead of showing text box in code behind or create both textboxes , labels , show them when needed.
also instead of doing in page_load function in 'rowdatabound' event of gridview , bind gridview each every time post done.
aspx code:
<itemtemplate> <asp:textbox id="q1" runat="server" text='<%# bind("q1") %>'></asp:textbox> <asp:label id="label1" runat="server" text='<%# bind("q1") %>' visible="false"> </asp:label> </itemtemplate> .....
<itemtemplate> <asp:textbox id="q2" runat="server" text='<%# bind("q2") %>'></asp:textbox> <asp:label id="label2" runat="server" text='<%# bind("q2") %>' visible="false"> </asp:label> </itemtemplate> code behind:
protected void page_load(object sender, eventargs e) { //bind grid view gridview1.databind(); } protected void gridview1_rowdatabound(object sender, gridviewroweventargs e) { int rowindex = e.row.rowindex; //first fetch textboxes , labeles textbox textboxq1 = gridview1.rows[rowindex].findcontrol("q1") textbox; textbox textboxq2 = gridview1.rows[rowindex].findcontrol("q2") textbox; label label1 = gridview1.rows[rowindex].findcontrol("label1") label; label label2 = gridview1.rows[rowindex].findcontrol("label2") label; if (window_name.equals("q2")) { //set 'visiblity' 'true' label want show. sample 1 below label2.visible = false; //set 'visibilty' 'false' text boxes want hide. sample 1 below textboxq2.visible = false; } } let me know in case of queries.
Comments
Post a Comment