How can I retain a GridViewRow value? - c#

My GridView is loaded with data from my database in a DataSet, which corresponds to Labels inside the GridView.
When users click the Select button on a GridViewRow, the button fills a TextBox outside the GridView from the selected row's column value.
After editing values in the TextBox outside my GridView, the user can click a button to move the new value from the TextBox back to the GridView (but not to the database).
My problem is: when I select the next row and do the same action, it clear the previous newly-added row data. It doesn't retain the previous row data.
I know it can be done by ViewState or Session, but it didn't work for me.

check for if(! ispostback) before filling data back to your grid. i am assuming that on click of select (Edit) button your page post back and then it fills value in textbox for edit and same time its refilling data in grid control also. so before filling value in grid control make sure its not postback.

Related

How to fill a data to a text box when grid view is clicked

I have a grid view displaying search results.
Once a field is selected, the data should be displayed in text boxes.
What's the code to fill text boxes when a row of a data grid view is clicked?
I've tried the code that is shown below. It returns an error.
TextBox1.Text = GridView1.SelectedRow[0].Cell[1].Value.ToString();
Index of Currently Selected Row in DataGridView
There you have all you want.
Next time try to use google, or search on that site, before you ask.
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview(v=vs.110).aspx
Gridview has lot of events associated with it. based on the location of the text boxes, you may want to use RowEditing event or SelectedIndexChanged event.

How does one turn a Gridview Row clickable which open a modalpopup in C#?

How does one turn a Gridview Row clickable which open a modalpopup in C#?
I have a gridview with several columns. Each row (the entire width of the row) needs to be clickable which onclick opens a modalpopupextender displaying a popup panal with detailed info on the row.
I have the modalpopupextender & panal working properly when an ImageButton is clicked. However I am removing the ImageButton and replacing its functionality with the row onClick.
I appreciate your time!
You should change the SelectionMode property to FullRowSelect.
You could use the SelectionChanged event to determine the current row selected.
GridView.SelectedRows[0].Index
will give you the index of the selected row. You will have to be sure MultiSelect is disabled as well.
So you have the index of the row selected, so now open whatever form needs opened depending on this index
Check this:
Edit Update GridView With Ajax ModalPopUpExtender Example
This Example explains How To Edit Update GridView Rows Records With Ajax ModalPopUpExtender In Asp.Net Using C# and VB.NET.

asp c# looping through dynamic datatable

asp c#
i have a page where user selects an item and its quantity to purchase and next item and so on
all items selected are filled in datatable and shown in gridview
at the end of selecting items
when user clicks process button
i want to insert all items and its quantities in database
on pageload a datatable is empty
on btn_Select_Click i hv filled in few rows
on btn_Process_Click i want to loop through these rows and insert records in db for each row
but it returns zero rows
Your question is a little vague. "but it returns zero rows"... I'm guessing that what you mean is, that in the click handler for your button, when you access your grid object, it has no rows in it?
Remember that each load of the page creates a whole set of brand new webcontrols. Webcontrol objects are not persisted in memory to be reused on each hit to the page.
If you want the same rows available on this new page that is being rendered after the button click, you have to re-bind your grid. I'm guessing that isn't happening in your code.

How to get selected Row data on edit link click in gridview

I have a gridview with two extra buttons as Edit and Add on each row and I have a click event on each Edit and Add Linkbuttons through which I am opening a ModelViewExtender Dialog. I want when I am clicking on these linkbuttons on each row of gridview, all row data should accessed means Row Data of particular column (cells)from the row of clicked Edit link.
You can get better understanding thorough the below image of GridView, as:
Please suggest me any solution regarding the same.
Thanks in advance.
You have tow ways, either you use the AutoGenereateEdit property to true which will generate these hyperlinks. then on the row editing event you can get all these values easily by using the "e.NewEditIndex" which is the rowIndex of the GridViewRow your editing.
The second way is that you have put these hyperlinks "edit" and "add" as templates, in order to access them you need to parse the the sender object to it's control on the hyperlink click event and then get it's parent which will return the GridViewRow that the control on, which will allow you to get all the values you want from that row like this:
//Debug it and just make sure that tow parents return the GridViewRow
GridViewRow row = (GridViewRow)(((HyperLink)(sender)).Parent.Parent);

Display selected row of Gridview data to next page in another Gridview?

How can I Display selected row of Gridview data to next page in another Gridview?
For example,
In listing page I want to select particular row and take that data to another page and display over there.
I have two grid view one in 1st page
and next one in 2nd page. Now when I
select a record in 1st page gridview,
than that record will display on 2nd
page gridview on submit button click
from 1st page.
Pass the key of the record via the querystring... and then in rowdatabound event, select the row when the data bound record matches the key in the QS.
For more protection, you can use session to store the variable.
Why not have 2 gridviews, one above the other? The top gridview could be made to only show 1 record which is set to the id of the 2nd gridviews selected item identifier in code. Then in 2nd gridview, have an empty selected item template so that the selected item only shows once for both gridviews. That way the 2nd gridview is free to page through the entire set whilst the first retains the selected item for display above?

Categories