i have a gridview. i want to put value in one of my grid view cell in row updating method. i tried the following code. it does not give any error but it also does not display the output in label2 which in cell[7] of gridview.
here is my gridview code
Code:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataKeyNames="EmpID" DataSourceID="SqlDataSource1"
onrowupdating="GridView1_RowUpdating">
<Columns>
<asp:BoundField DataField="EmpID" HeaderText="EmpID" InsertVisible="False"
ReadOnly="True" SortExpression="EmpID" />
<asp:BoundField DataField="EmpName" HeaderText="EmpName"
SortExpression="EmpName" />
<asp:BoundField DataField="Department" HeaderText="Department"
SortExpression="Department" />
<asp:BoundField DataField="Address" HeaderText="Address"
SortExpression="Address" />
<asp:BoundField DataField="Age" HeaderText="Age" SortExpression="Age" />
<asp:BoundField DataField="************" HeaderText="************" SortExpression="************" />
<asp:TemplateField HeaderText="ProjectName" SortExpression="ProjectName">
<EditItemTemplate>
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True"
SelectedValue='<%# Bind("ProjectName") %>'>
<asp:ListItem>1</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
<asp:ListItem>3</asp:ListItem>
<asp:ListItem>4</asp:ListItem>
<asp:ListItem></asp:ListItem>
</asp:DropDownList>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("ProjectName") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SupervisorName" SortExpression="SupervisorName">
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("SupervisorName") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Bind("SupervisorName") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:CommandField ShowEditButton="True" />
</Columns>
</asp:GridView>
and here is my row updating method code
Code:
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
DropDownList ddl = (DropDownList)GridView1.Rows[e.RowIndex].FindControl("DropDownList1");
string selectedvalue = ddl.SelectedItem.ToString();
switch (selectedvalue)
{
case "1":
((Label)GridView1.Rows[e.RowIndex].FindControl("Label2")).Text = "A";
break;
case "2":
((Label)GridView1.Rows[e.RowIndex].FindControl("Label2")).Text = "B";
break;
case "3":
((Label)GridView1.Rows[e.RowIndex].FindControl("Label2")).Text = "C";
break;
case "4":
((Label)GridView1.Rows[e.RowIndex].FindControl("Label2")).Text = "D";
break;
}
}
i don't understand why the output is not displaying in label2 which is in cell[7].
please help