Forms Data Controls :: GridView Control On Page Not Showing Current Data On Databind
Jan 29, 2010
I have a page with a gridview control that shows files that have been uploaded to our site. The name of the uploaded files, who uploaded them, and if they have been downloaded, etc are stored in a table. The gridview is bound to the table through a sqlDataSource control. I have a button column in the gridview that downloads the file associated with a row when the button is clicked. All that works well. I have a check box column that shows checked if a file has been downloaded. When the download button is pressed.
the file downloads and then a short routine is run to update the downloaded field in the uploaded files table to set the downloaded field to true. This is done through a command string. All this works. Here is the question. After the update is run I do a databind on the gridview to update it. The databind is run in the PageLoad event is the page is a postback. This does not cause the current row to show downloaded =true (checked). If I refresh the page in the browser then it displays correctly.
I'm new to ASP.net (and coding in general) and I was very impressed about how easy is to learn enough to create something useful :)
Unfortunately, now I'm stuck on a problem involving gridview sorting and paging: I created a master gridview bound to an sqldatasource, I enabled sorting and paging and then I linked it to a detailsview to enable editing and inserting.
In addition, I set up two other gridviews whose datasources depend on the master gridview.
When a user selects a row and modifies it in the detailsview, the sort takes place and the row is often moved to another page. This can be a little confusing, especially because there are other controls relying on the selected row of the master gridview.
There's a way to find and select the page of the selected row after gridview's databind and sort take place? I tried creating a dataview to search the index of the selected datakey in the databound event of my gridview, but it doesn't work, because it seems that the rows aren't sorted yet. Maybe I should choose another event?
I am using C# ASP .NET 2.0. On my web form I have a GridView and a Calendar control and I want to do the following:
With the Calendar control, I only want to show the current month, and links for the previous month and next month. Not the actual days of the month.
I want the days in the Calendar control to populate my left-most column of my GridView. For example, if March was the current month then I should see 31 rows in my GridView starting with 03/01/2010 in the first row and 03/31/2010 in the last row.
When you click the previous month or next month link I need the GridView to change for the selected month.
How to change the values in gridview on text change of templated control without databind again?the value of templated text boxes should change If i change the value of one of the templated textbox then accordingly(By mathematical calculations) the vlaues of all tempated textboxes should also change.
VS2010 ( Vb.net ).I have a masterpage that contains a gridview, giving stats and information on client files sent to us. This gridview is updated by means of a timer control every 10 seconds. In my grid I have an image field, to display either a tick .. if everything is ok or a cross for any problems.When the timer control timer event forces a gridview databind every 10 seconds.When the page first loads, i get the default red Cross in the gridview imagefield, however when the timer loops forces a 'databind' I lose the redCross and it is replaced with the default image control ( as if no url is set ) . Then I get a server 404 error.I am using the OnDataBound event to fire my vb sub. I have commented out evertything just to get a solid starting point but im still getting errors.
On my aspx page I use a popupmodalextender to show (and edit) some data that is contained in a gridview (gridview is on the same page). Popup works OK and also the editing of the data, but when I close the popup (from code behind) the data in the gridview is not refreshed.
Why doesn't databind() work until I refresh the page?
I need to display data returned from a sql query into a gridview. This is easy enough to accomplish by running the code below:
Dim command As New SqlCommand(sql, connection) command.CommandType = CommandType.Text connection.Open() Dim da As New SqlDataAdapter(command) Dim ds As New DataSet() da.Fill(ds) Me.grvDisplay.DataSource = ds Me.grvDisplay.DataBind()
My issue is that for one of the columns, before it gets bound to the gridview, I need to format the value. Basically, it returns a value like 7.21. Each number represents something, so I need determine what this and display the worded value. I tried to do a datareader (see below) before the binding and store that value into a session variable and display that session variable into the gridview, but it just displayed the same value over and over.
Dim dr As SqlDataReader = command.ExecuteReader() dr.Read() Dim RT As String = "" Dim VersionName As String = "" Select Case Left(Replace(Mid(dr("Version"), 2), ".", ""), 1) Case "1" RT = "Pre-Release" Case "2" RT = "Final Release" Case "3" RT = "Interim Release" End Select Session("VersionName") = Left(dr("Version"), 1) & " Data Base " & RT & " " & Replace(Right(dr("Version"), 1), "0", "") dr.Close()
i am getting following error on gridview.databind() Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack , ThreadAbortException,it was working fine and suddenly getting error, i don't what's problem is?
I'm working on a project where I have to create a page that displays the "health" of a system. I run a query and display the results in a gridview with a red or green icon next to it. This works fine when the page is first loaded. My problem is that I have a thread that runs a query every 30 minutes and rebinds the gridview but the gridview never refreshes even though the data has changed. How do I get the gridview to display the new results? The databound event never fires a second time even though I can clearly see that I have received new data. I assume I am missing something simple but I just don't know what. What am I doing wrong?
So I have a GridView and several events that can be triggered (such as filtering and inserting a new record) to manipulate the GridView. I want to make sure that I'm not calling DataBind on Page_Load, especially since I might have to call it again when certain events fire. Is there a way I can make it so I only have to call DataBind once on the GridView after Page_Load and anything else has fired? Like some event that will absolutely fire last where I can put my DataBind?
The reason I need to do this is because the DataSource for the GridView is set programmatically from a DataView when the page is loaded, so DataBind needs to run every time. Just, hopefully, not multiple times each time...
I have a gridview positioning issue that may have been answered elsewhere, but I couldn't seem to find a similar post...
I have a webforms app containing a paged gridview (e.g., 200 records - 50 rows and 4 pages).
When the user clicks on a button in a specific row, another web page is launched to process that button click. When the user closes that page to return to the main gridview, the databind event is rerun and the page redisplays the gridview starting at the top. However, I want to have the previous position maintained (like an html bookmark), so that the grid will automatically be scrolled to the the previously clicked gridview page and item.
Setting attributes such as "MaintainScrollPositionOnPostback" do nothing in this case.
I am have a page with a couple of dropdowns which serve as criteria for a select SPROC. Once a selection is made in a drop down a panel is shown which contains gridview whose rows have been returned by the select SPROC.If you close the panel and change the drop down selection and then redsplay your panel the data from your prior selection is still displayed in the gridview, unless you page to the next group of records.
I have spent most of my time writing ASP.Net web pages, using VS 2005. I am now developing some client function for Windows, so I'm relatively less expert in VB.In my Windows program I have defined a DataGridView and linked this to a data table (within a tableadaptor). Now I want to populate it: on a web page's code-behind I would write Gridview.databind(). What is the equivalent with a DataGridView.
I have a drop down menu that is populated on page load. Below that, I have a gridview that has a select parameter based on that drop down menu's value. I can't get the gridview to populate with data based on the drop down. If I fill in the parameter with a constant, the data pulls fine, but when I switch the parameter to a form parameter, it won't pull.
I am using a dataset for the first time and so far it is going quite well. The one thing that I have not found in tutorials though is how to add a select command to the gridview when i do gridview.databind()
The gridview is just a simple click and add at this point and my code looks like this: