Scenario: I have a Gridview where I want to handle the Sorting in a custom control that I've added to the header. I've added this control to my GridView's Header via OnRowCreate event handling. I want the Sort Expressions to persist session to session (via Webparts Personalization)
Here is what I have for adding the custom header control to the GridView Header
[Code]....
This works out well for adding the control, but I can't get anything to persist because these controls are creating initially via postback (per the event) and re-created on all subsequent postbacks. I can't add an If(!IsPostback) because the controls are initially created on the gridview's postback (well at least thats how it's acting when I put it in there) If I were to add this control via the ASP page, not via the Codebehind, I would be able to persist the control. If I try to treat it as though everything is setup correctly, and assign my custom control's controls to [Personalizable], I get a runtime error telling me that I can only have webpartzones in or before Page_init (I'm guessing this is due to when/where the gridview hits the OnRowCreate event). If there is some fundimental logic I'm missing, or best practices that I'm moving away from,
I have a page with a TextBox, a Button, a GridView, and a SqlDataSource. I click the Button to execute the SQL in the TextBox using the SqlDataSource. The SqlDataSource populates the GridView. Everything works as expected until I click a column heading to sort.
When I click a column heading, the GridView disappears and I have to click the Button to display the grid again. When I do, the grid is displayed in the order of the column I clicked.
I don't understand why the GridView is disappearing when I click a column header.
Does anyone know how to fix this so the GridView is sorted and displayed only by clicking the column header?
I have a merged column of firstname and lastname by "Select firstname + lastname from table" but when it appears in the gridview the header text of the column is "Expr1000". How can I change the header text of that merged column?, and I want to change its text into "NAME".
I want if the header of a particular column contains a word "S", the header and row turns red. I used following code to make header red and it works fine. How to make it such that the rows also turn red if condition is met ? I cannot hardcode in columns since the Gridview is autogenerate colums as data structure keeps changing.
Protected Sub GridView1_DataBound(ByVal sender As Object, ByVal e As System.EventArgs)Dim HeaderRow As GridViewRow = GridView1.HeaderRowFor Each c As TableCell In HeaderRow.CellsIf c.Text.EndsWith("S") Then c.BackColor = Drawing.Color.OrangeRed End If Next End Sub
i have a gridview bound to sql datasource with template fields binding the columns. I have set the Header Style to a css class. I have 3 columns not bound to data as Add, Edit and Delete. When I set the text color to white for the header only the non bound columns go white. The bound columns are BLUE like hyperlink. Any one know a way round this. (If I set the style in the gridview the all columns are white. Want to set in external css file).
I have several grid views indide div's, and when I click the Sort header on an open div the div collapses and no sort happens. I believe it is just reloading the entire page but when I surround PageLoad with !ISPostBack then the page redraws as blank. Since the sort script is generated by the GV, I don't know how to stop it from creating side effects.
Here's my code:
<script type="text/javascript" language="javascript"> function toggleDisplay(id) { var obj = document.getElementById(id); obj.style.display = (obj.style.display == "none") ? "" : "none"; return false; // cancel the href } </script>
How to create Rows and Column using Datatable Gridview Itemtemplate with multi header I need to create Datatable Gridview Itemtemplate fixed rows and column such as 7 rows and 7 columns
Scrollable GridView with Fixed Headers inside ASP.Net UpdatePanel using jQuery Plugin. I have one more question in that.  How to adjust the width of the columns headers because for some of my gridviews the headers not showing the proper format.  in the gridview I gave HorizontalAlign="Left" and in the columns I gaveÂ
<asp:BoundField DataField="XXX" HeaderText="XXX" ItemStyle-Width="150px" HeaderStyle-HorizontalAlign="Left" /> Â
It's not showing in the correct fomart. header is coming to the left side and data is coming to the right side...
I have a gridview which has a column of auto generated select buttons, where a user can select a row.However, I would like to add a column header to my auto generated select buttons in order to make the gridview look complete, but I am unable to see how I can do this. Does anyone know how I can add a header text to an auto generated select button?
when i am in ItemTemplate all the column (7 column) are label so it fit to the current screen
by when i use EditItemTemplate or InsertItemTemplate the coulmn don't fit the the current screen and
i have to use the ruler in order to see more information about the cell (which is ok - because in each cell i have a dropdownlist or long textbox)
but when i drag the ruler to the right size to see more information only the cells are moved but the header coulmn stay so i see the current coulmn with worng header coulmn
I am looking to sort a column on my gridview by simply clicking on the column rather than clicking on the column header. In the design I have been given, the column header will not be shown, and I need to be able to give the user to sort this column, by simply just clicking any where on the column.
The following query returns me the column name from the table in the database, and stores the column name in the grid. How can I change the column name in the grid using following code, if its possible?
DataSet p_dsInformixDataDs = new DataSet(); string cmd = "SELECT * FROM CUSTOMERS"; try { using (IfxDataAdapter da = new IfxDataAdapter(cmd, m_InformixDBConn)) { da.Fill(p_dsInformixDataDs); } } DataView myDataView = new DataView(m_dsInformixDataDs.Tables[0]); if (myDataView .Count > 0) { GridView1.DataSource = m_dsInformixDataDs; GridView1.DataBind(); }