Please solve this issue.
I have a gridview with a label and 2 textboxes as given below.but when am trying to update the textbox value its not detecting and not updating the value.
Please find the code given below for gridview rowdatabound and gridview row updating. its not at all detecting the textboxes id.
Expand|Select|Wrap|Line Numbers
- --------------------------------------------------------------------------------------------------------------
- <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
- AllowPaging="True" AllowSorting="True"
- PageSize="5" DataKeyNames="Driver_Number"
- OnRowDataBound="GridView1_RowDataBound"
- OnRowEditing="GridView1_RowEditing" OnRowCancelingEdit="GridView1_RowCancelingEdit"
- OnRowUpdating="GridView1_RowUpdating" OnRowCommand="GridView1_RowCommand" GridLines="Both"
- Height="146px" onpageindexchanging="GridView1_PageIndexChanging"
- onsorting="GridView1_Sorting" Width="897px" BackColor="#FFFEE5" BorderColor="#CCCCCC" BorderStyle="Solid" BorderWidth="1px"
- Font-Names="Verdana" Font-Size="0.9em" ForeColor="#FFB300" Font-Bold="True">
- <HeaderStyle BackColor="#FFFEE5" BorderColor="#CCCCCC" BorderStyle="Solid" BorderWidth="1px"
- Font-Names="Verdana" Font-Size="0.9em" ForeColor="#FFB300" Font-Bold="True"/>
- <SelectedRowStyle BackColor= "#FFB300" ForeColor="Blue" Font-Names="Arial" Font-Size="11px" />
- <PagerStyle ForeColor="navy" BackColor="#FFB300" Font-Names="Arial" Font-Size="11px" />
- <RowStyle Font-Names="verdana" Font-Size="9px" ForeColor="white" BackColor="#FFB300" />
- <FooterStyle BackColor="#FFFEE5" Font-Bold="True" ForeColor="White" />
- <EditRowStyle ForeColor="#FFB300" BackColor="#FFFEE5" />
- <Columns>
- <asp:TemplateField HeaderText="Driver_Number" Visible="false" SortExpression="Driver_Number">
- <ItemTemplate>
- <asp:Label ID="lblgrdbmid" runat="server" Text='<%# Bind("Driver_Number") %>'></asp:Label>
- </ItemTemplate>
- <EditItemTemplate>
- <asp:Label ID="lblgrdbmid" runat="server" Text='<%# Bind("Driver_Number") %>'></asp:Label>
- </EditItemTemplate>
- </asp:TemplateField>
- <asp:TemplateField HeaderText="Driver" Visible="false">
- <EditItemTemplate>
- <asp:DropDownList ID="cbogrddriver" runat="server" AutoPostBack="true" >
- </asp:DropDownList>
- </EditItemTemplate>
- <ItemTemplate>
- <asp:Label ID="lblgrddriver1" runat="server" Text='<%# Eval("Driver") %>'></asp:Label>
- </ItemTemplate>
- </asp:TemplateField>
- <asp:TemplateField HeaderText="Driver Category">
- <EditItemTemplate>
- <asp:TextBox ID="txtgrdcategory" runat="server" Text='<%# Bind("Driver_category") %>'></asp:TextBox>
- </EditItemTemplate>
- <ItemTemplate>
- <asp:Label ID="lblgrdcategory" runat="server" Text='<%# Eval("Driver_category") %>'></asp:Label>
- </ItemTemplate>
- </asp:TemplateField>
- <asp:TemplateField HeaderText="Driver">
- <EditItemTemplate>
- <asp:TextBox ID="txtgrddriver" runat="server" Text='<%# Bind("Driver") %>'></asp:TextBox>
- </EditItemTemplate>
- <ItemTemplate>
- <asp:Label ID="lblgrddriver" runat="server" Text='<%# Eval("Driver") %>'></asp:Label>
- </ItemTemplate>
- </asp:TemplateField>
- <asp:TemplateField HeaderText="Edit" ShowHeader="False">
- <EditItemTemplate>
- <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="false" CommandName="Update" CommandArgument='<%# Bind("Driver_category") %>' Text="Update"></asp:LinkButton>
- <asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="false" CommandName="Cancel" CommandArgument='<%# Bind("Driver_category") %>' Text="Cancel"></asp:LinkButton>
- </EditItemTemplate>
- <ItemTemplate>
- <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandArgument='<%# Bind("Driver_category") %>' CommandName="Edit" Text="Edit"></asp:LinkButton>
- </ItemTemplate>
- </asp:TemplateField>
- <%--<asp:CommandField HeaderText="Delete" ShowDeleteButton="True" ShowHeader="True" />--%>
- </Columns>
- </asp:GridView>
- --------------------------------------------------------------------------------------------------------------
- protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
- {
- if (e.Row.RowType == DataControlRowType.DataRow)
- {
- Label lblgrdbmid = (Label)e.Row.FindControl("lblgrdbmid");
- TextBox txtgrdcategory = (TextBox)e.Row.FindControl("txtgrdcategory");
- TextBox txtgrddriver = (TextBox)e.Row.FindControl("txtgrddriver");
- DataTable dt = new DataTable();
- dt = GridDataSource();
- lblgrdbmid.Text = dt.Rows[0].ItemArray[0].ToString();
- txtgrdcategory.Text = e.Row.Cells[1].Text;
- txtgrddriver.Text = e.Row.Cells[2].Text;
- }
- }
- this is code for row updating
- protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
- {
- Label lblgrdbmid = (Label)GridView1.Rows[GridView1.EditIndex].FindControl("lblgrdbmid");
- GridView1.EditIndex = -1;
- string sample;
- TextBox txtgrdcategory = (TextBox)GridView1.Rows[GridView1.EditIndex].FindControl("txtgrdcategory");
- TextBox txtgrddriver = (TextBox)GridView1.Rows[GridView1.EditIndex].FindControl("txtgrddriver");
- sample = lblgrdbmid.Text;
- DriversInfooBal pbal = new DriversInfooBal();
- DriversBO pbo = new DriversBO();
- pbo.Drivernumber = Convert.ToInt32(lblgrdbmid.Text);
- pbo.StrDriverCategory = txtgrdcategory.Text;
- pbo.StrDriver = txtgrddriver.Text;
- pbal.updatedrivers(pbo);
- GridView1.EditIndex = -1;
- BindGrid();
- //mbo.Processid = Convert.ToInt32(processid);
- }
- --------------------------------------------------------------------------------------------------------------
Please find the screenshot attached for error
thanks alot in advance
kiran