my gridview will be bebinding after clicking on search button and in the page_load i do not have any code.
the codes i have used for the gridview , i have sent according to previouse question , please help where i have to use if(!IsPostback) in the code, i do not know where i have to use that.
GridViewDocuments_Search.EditIndex = e.NewEditIndex;
GridViewDocuments_Search.DataSource = ???// set the datasource
GridViewDocuments_Search.DataBind();
for more information in my page i have 2 gridviews, first one will be populate when run the page by linqdatasource and it's datasource is a table. and secound one will be visible and populate after pressing search button and first gridview will be hide.
masoud-s
Member
81 Points
196 Posts
Grid view row updating does not get new entered values
Dec 20, 2012 03:01 AM|LINK
I have used below code for grid view row updating, but after click on update button, it takes old values.
I checked by break point for grid view row updating , all the text boxes have old values. And new entered values do not grab.
I tried a lot in goggle but I could not solve the problem.
protected void GridViewDocuments_Search_RowUpdating(object sender, GridViewUpdateEventArgs e) { _DataContext = new EDMSDataContext(); int _Docid = (int)GridViewDocuments_Search.DataKeys[e.RowIndex].Value; TextBox DocumentNo = (TextBox)GridViewDocuments_Search.Rows[e.RowIndex].FindControl("DocumentNo"); TextBox title = (TextBox)GridViewDocuments_Search.Rows[e.RowIndex].FindControl("title"); TextBox unit = (TextBox)GridViewDocuments_Search.Rows[e.RowIndex].FindControl("unit"); TextBox originator = (TextBox)GridViewDocuments_Search.Rows[e.RowIndex].FindControl("originator"); _DataContext.updateDoc(_Docid, DocumentNo.Text, title.Text, unit.Text, originator.Text); _DataContext.SubmitChanges(); GridViewDocuments_Search.EditIndex = -1; var query = _DataContext.spQuickSearchDoc(txtSearchKeywords.Text); GridViewDocuments_Search.DataSource = query; GridViewDocuments_Search.DataBind(); }protected void GridViewDocuments_Search_RowEditing(object sender, GridViewEditEventArgs e) { //var query = _DataContext.spQuickSearchDoc(txtSearchKeywords.Text); // GridViewDocuments_Search.DataSource = query; GridViewDocuments_Search.EditIndex = e.NewEditIndex; GridViewDocuments_Search.DataBind(); }protected void btnSearch_Click(object sender, EventArgs e) { _DataContext = new EDMSDataContext(); var query = _DataContext.spQuickSearchDoc(txtSearchKeywords.Text); GridViewDocuments.Visible = false; GridViewDocuments_Search.Visible = true; GridViewDocuments_Search.DataSource = query; GridViewDocuments_Search.DataBind(); }Grid view marks up: <asp:GridView ID="GridViewDocuments_Search" runat="server" AutoGenerateColumns=False Visible="False" onrowcommand="GridViewDocuments_Search_RowCommand" OnRowDeleting="GridViewDocuments_Search_RowDeleting" DataKeyNames="DocID" PageSize="100" onrowcancelingedit="GridViewDocuments_Search_RowCancelingEdit" onrowediting="GridViewDocuments_Search_RowEditing" onrowupdating="GridViewDocuments_Search_RowUpdating" > <Columns> <asp:TemplateField HeaderText = "Details"> <ItemTemplate> <asp:Button ID ="btn_Show" Text="Details" runat= "server" CommandName= "Details" CommandArgument='<%# Container.DataItemIndex%>' /> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="DocNo"> <EditItemTemplate> <asp:TextBox ID="DocumentNo" runat="server" Text='<%# Eval("DocumentNo") %>'></asp:TextBox> </EditItemTemplate> <ItemTemplate> <asp:Label ID="Label1" runat="server" Text='<%# Eval("DocumentNo") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Title" SortExpression="title"> <EditItemTemplate> <asp:TextBox ID="title" runat="server" Text='<%# Eval("title") %>'></asp:TextBox> </EditItemTemplate> <ItemTemplate> <asp:Label ID="Label2" runat="server" Text='<%# Eval("title") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="DocID"> <EditItemTemplate> <asp:TextBox ID="TextBox1" runat="server" Text='<%# Eval("DocID") %>'></asp:TextBox> </EditItemTemplate> <ItemTemplate> <asp:Label ID="Label3" runat="server" Text='<%# Eval("DocID") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Originator"> <EditItemTemplate> <asp:TextBox ID="Originator" runat="server" Text='<%# Eval("Originator") %>'></asp:TextBox> </EditItemTemplate> <ItemTemplate> <asp:Label ID="Label4" runat="server" Text='<%# Eval("Originator") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Unit"> <EditItemTemplate> <asp:TextBox ID="Unit" runat="server" Text='<%# Eval("Unit") %>'></asp:TextBox> </EditItemTemplate> <ItemTemplate> <asp:Label ID="Label5" runat="server" Text='<%# Eval("Unit") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:CommandField ShowEditButton="True" /> <asp:CommandField ShowDeleteButton="True" /> </Columns> </asp:GridView>chaaraan
Contributor
2170 Points
484 Posts
Re: Grid view row updating does not get new entered values
Dec 20, 2012 03:28 AM|LINK
Hi
MAke sure you are binding the Grid inside Not postback in Page load
if(!IsPostback)
{
BindGrid();
}
Regards,
Charan
masoud-s
Member
81 Points
196 Posts
Re: Grid view row updating does not get new entered values
Dec 20, 2012 04:16 AM|LINK
my gridview will be bebinding after clicking on search button and in the page_load i do not have any code.
the codes i have used for the gridview , i have sent according to previouse question , please help where i have to use if(!IsPostback) in the code, i do not know where i have to use that.
thanks.
chaaraan
Contributor
2170 Points
484 Posts
Re: Grid view row updating does not get new entered values
Dec 20, 2012 04:48 AM|LINK
HI
try this
protected void btnSearch_Click(object sender, EventArgs e)
{
if(!IsPostBack)
{
_DataContext = new EDMSDataContext();
var query = _DataContext.spQuickSearchDoc(txtSearchKeywords.Text);
GridViewDocuments.Visible = false;
GridViewDocuments_Search.Visible = true;
GridViewDocuments_Search.DataSource = query;
GridViewDocuments_Search.DataBind();
}
}
Regards,
cahran
vinz
All-Star
127011 Points
17934 Posts
MVP
Re: Grid view row updating does not get new entered values
Dec 20, 2012 05:51 AM|LINK
During editing make sure to re-bind your gridview with the datasource before you call DataBind();
MessageBox Controls for WebForms | Blog | Twitter | Linkedin
masoud-s
Member
81 Points
196 Posts
Re: Grid view row updating does not get new entered values
Dec 20, 2012 06:33 AM|LINK
when i a add the code search button does not work more.
masoud-s
Member
81 Points
196 Posts
Re: Grid view row updating does not get new entered values
Dec 20, 2012 06:34 AM|LINK
i add like below but nothing happend. still i get old values.
protected void GridViewDocuments_Search_RowEditing(object sender, GridViewEditEventArgs e) { //var query = _DataContext.spQuickSearchDoc(txtSearchKeywords.Text); // GridViewDocuments_Search.DataSource = query; GridViewDocuments_Search.EditIndex = e.NewEditIndex; GridViewDocuments_Search.DataBind(); }vinz
All-Star
127011 Points
17934 Posts
MVP
Re: Grid view row updating does not get new entered values
Dec 20, 2012 07:01 AM|LINK
You should have something like:
MessageBox Controls for WebForms | Blog | Twitter | Linkedin
masoud-s
Member
81 Points
196 Posts
Re: Grid view row updating does not get new entered values
Dec 20, 2012 07:07 AM|LINK
i added below code but still i have old values
protected void GridViewDocuments_Search_RowEditing(object sender, GridViewEditEventArgs e) { var query = _DataContext.spQuickSearchDoc(txtSearchKeywords.Text); GridViewDocuments_Search.DataSource = query; GridViewDocuments_Search.EditIndex = e.NewEditIndex; GridViewDocuments_Search.DataBind(); }masoud-s
Member
81 Points
196 Posts
Re: Grid view row updating does not get new entered values
Dec 20, 2012 12:05 PM|LINK
for more information in my page i have 2 gridviews, first one will be populate when run the page by linqdatasource and it's datasource is a table. and secound one will be visible and populate after pressing search button and first gridview will be hide.
thanks.