Forms Data Controls :: GridView Goes Blank When Click To Next Page?
Feb 2, 2010
I have a single page with multiple gridviews.
[Code]....
The data binding is done manually in the code behind, which means you have to manually write the onpageindexchanging in there too. Normally that's done like so:
[Code]....
When you click to the next page on such a page, it is only blank if you have if(!Page.IsPostBack){} around your manual data binding. Well on this page with multiple gridviews I don't have that. But it's still blank when you click to the next page.
Very new to C# although I have alot of older coding experience. Not much object orientated programming though. Anyways, I have a .net program I'm working on, basically to work on my skills although it will prove to be useful. I am keeping track of my work schedule. Currently, I am populating a datagridview from a sql 2008 express db. My columns are: date worked, hours, paid, and paidon. What I want to do is add an empty row whenever the date corresponds to a date that is "Monday". My goal is to line break every week. So that each work week (Mon-Sun) is seperated by a blank row. I would rather not actually have this blank row in the database. I would like the gridview to do this on the fly. Here is my gridview code in my default.aspx file:
As per database designer's logic if there is no data in above field then he replace empty to 0 and in my gridveiw 0 is displaying whereever the cell is empty.
Now I just want to replace 0 to empty.
One more thing that if it displays 0 in a hyperlink Field then it should not be displayed.
I have a small problem I am returning some data from a query and have allowed paging, however when I click on the next button to view the following page the gridview disappears.
My datasource is specified in the code behind:
<asp:Panel ID="dtpanel" runat="server" Visible="False"> <asp:GridView ID="grddetails" runat="server" AutoGenerateColumns="False" AllowPaging="True" OnPageIndexChanging="grddetails_SelectedIndexChanged" ViewStateMode="Enabled" onselectedindexchanged="grddetails_SelectedIndexChanged" AllowSorting="True" > <Columns> <asp:BoundField DataField="Col1" HeaderText="Col1" SortExpression="Col1" /> <asp:BoundField DataField="Col2" HeaderText="Col2" SortExpression="Col2" /> <asp:BoundField DataField="Col3" HeaderText="Col3" SortExpression="Col3" /> <asp:BoundField DataField="Col4" HeaderText="Col4" SortExpression="Col4" /> <asp:BoundField DataField="Col5" HeaderText="Col5" SortExpression="Col5" /> <asp:BoundField DataField="Col6" HeaderText="Col6" SortExpression="Col6" /> </Columns> </asp:GridView> </asp:Panel> using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data; using System.Data.SqlClient; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void GridView2_SelectedIndexChanged(object sender, GridViewCommandEventArgs e) { int y = Convert.ToInt32(e.CommandArgument); Control control = GridView2.Rows[y].Cells[0].Controls[0]; LinkButton btn = control as LinkButton; string qval = btn.Text; string query = "SELECT * FROM Table WHERE Col LIKE '%" + qval + "%'"; string connectionString = @"Data Source=servername;Initial Catalog=dbname;Integrated Security=True"; SqlConnection accessConnection = new SqlConnection(connectionString); SqlCommand accessCommand = new SqlCommand(query, accessConnection); SqlDataAdapter grddetailsDataAdapter = new SqlDataAdapter(accessCommand); DataTable grddetailsDataTable = new DataTable("Table"); grddetailsDataAdapter.Fill(grddetailsDataTable); int dataTableRowCount = grddetailsDataTable.Rows.Count; if (dataTableRowCount > 0) { grddetails.DataSource = grddetailsDataTable; grddetails.DataBind(); } dtpanel.Visible = true; } protected void GridView1_SelectedIndexChanged(object sender, GridViewCommandEventArgs e) { int w = Convert.ToInt32(e.CommandArgument); Control control = GridView1.Rows[w].Cells[0].Controls[0]; LinkButton btn = control as LinkButton; string qval2 = btn.Text; Label1.Text = btn.Text; string query = "SELECT * FROM Table WHERE Col LIKE '%" + qval2 + "%'"; string connectionString = @"Data Source=servername;Initial Catalog=dbname;Integrated Security=True"; SqlConnection accessConnection = new SqlConnection(connectionString); SqlCommand accessCommand = new SqlCommand(query, accessConnection); SqlDataAdapter grddetailsDataAdapter = new SqlDataAdapter(accessCommand); DataTable grddetailsDataTable = new DataTable("Table"); grddetailsDataAdapter.Fill(grddetailsDataTable); grddetails.DataSource = grddetailsDataTable; grddetails.DataBind(); dtpanel.Visible = true; } protected void grddetails_SelectedIndexChanged(object sender, GridViewPageEventArgs e) { DataTable dataTable = grddetails.DataSource as DataTable; grddetails.PageIndex = e.NewPageIndex; grddetails.DataBind(); dtpanel.Visible = true; } }
my gridview column coming from database dynamicly it may be 10 or it may be 20. i added a blank row in grid throughdata table . i want to write something in this row and change color.
GridView: grvResultPrimary Key: FLTIDTextBox: txtRemarksThere is a button named btnAdd in the FormView named FormView2.txtRemarks is outside the form.The scenario is that if user wants to add a record with empty textbox and click btnAdd then how to restrict user to add empty row to gridview?I have tried Validation by controling txtRemarks but it is not helpful for me because in the page there is a FormView1, FormView2 and grvResult.If I am applying validation then all other updation methods of FormView1 and grvResult are disturbing.Simple is that I want to give option to user that without empty data using txtRemarks, user can enter data to grvResult.
I have searched all over the internet and there are just too many solutions that basically is not working for me right now unfortunately. i just want to display my gridview header and I dont want to add a blank row in any form.
I am trying to update the value of a cell in a gridview at the same as conducting a post back to the DB....
Currently I am not able to even find teh control to puchthe data back to the cell, do I need to update the DB first then let the query read the updated record?
[Code]....
How can I get the new birthdate back into the ("studentDOBLabel") on the template at the same time I update the DB?
I want to make a link in databound data which is stockQtt. How can I do that? and I want target is blank and the link page is AdjStock.aspx below is coding.
I have a requirement that i need to remove the columns from gridview which are blank but at remove funtion it gives me error so i make that columns visible false now its working fine but at the time of exporting data from gridview to excel it also export that visible= false columns in spredsheet and i don't want that blank or hidden column in my excel sheet
I have gridview where there is column charges. If charges value is $0.00, I need to display it as BLANK or NULL that is it should be empty. I tried few DataFormatStrings but no luck.
I have 3 nested grids as Parent/Child/GrandChild and I have assigned SqlDataSources to all the grids at declaration time. I place the SqlDataSource next to each grid as follows.
Because of this I am not doing anything in RowDataBound(...) event. But I used the RowCreated(..)event of Parent and Child grids to access session (Please look at the select statements of Child/GrandChild grids).
Parent grid's RowCreated(..) event puts the value in the session which is used by Child grid. Child grid's RowCreated(..) event puts the value in the session which is used by Grand Child grid.
GrandChild grid has paging enabled and whenever I click on page index, Child and GrandChild grids goes blank. Parent gird doesn't go blank because its select statement doesn't take any "select parameters".
how to overcome this problem. I am attaching .aspx and .aspx.cs files
panel_A has a gridView gv1 with PageSize = "5" OnRowCommand = "LoadCompanyInfo" OnPageIndexChanging="gridView_PageIndexChanging1" Panel_B has gridview gv2 with PageSize = "5" OnRowCommand = "SelectEmployee" OnPageIndexChanging="gridView_PageIndexChanging2" Panel_C has labels CompanyID, CompanyName, EFirst, ELast and EMiddle. Panel_A panel_B and panel_C are in an update panel.
Each row in gv1 is a LinkButton, so if I click on a row, it runs a method 'LoadCompanyInfo' which updates the labels in panel_C and also populates the gridview on panel_B. This part is working fine, when I click on a row in gv1, it updates the labels text in Panel_C and populates gv2 in panel_B. I am having the following issues:
1. When I click on a row in gv2, it makes the labels text in panel_C blank and gv2 also becomes blank, shows EmptyDataText. I expect it to just update EFirst, ELast and EMiddle. in panel_A.
2. When I click on the next page no on gv1 it fires LoadCompanyInfo method first and then goes in the gridView_PageIndexChanging1 event. I expect it to go in the gridView_PageIndexChanging1 event only and show next page in gv1 and not in LoadCompanyInfo, because I am just clicking on page no 2 not row 2.
3. gv1 refreshes on a timer event OnTick = Timer_Tick, and it clears off data in panel_B and panel_C. I want it to just update panel_A.
I guess I will have to set up nested Update panels to accomplish this.
i hav a gridview ... now i need to add certain number of rows... say 5 rows .... which would b blank .. the rows consist of itemtemplate of textboxes.. here is the grid ...
[Code]....
now i am binding this gridview with certain data say :
[Code]....
now the problem is if the row contains 2 data originally ... then it alwz shows up with only two rows with binded data... but what i want is 2 (databinded rows ) + 5 (empty rows with textbox ) = 7 grid view rows .... now how to do it ... after i hav binded the textbox with data already....with some empty columns corresponding to the above code ?
i have created a .net chart, but when i load the page to see the results, all i see is a blank gray rectangle. no graph inside. (while if i split view it in VS i see the chart)here is my code,
How to redirect a page to a particular website link( links are saved in database) using database on button click, for particular DropDown value i.e, External. If dropdown value is "external", then on clicking button page should redirect to particular website link related to the above drop down. This link can differ in DB but DropDown value is same for all users i.e "External"..(these website links are saved in database, I have to fetch these links from database.