Gridview - Setting Column Header's Css Class From Code Behind
Jan 20, 2010
what I am trying to do is add a method to my gridview's sorting event to add a class to the column being sorted so the user can know if the data is being sorted ascending or descending and on what column. I am currently trying to do it through a switch statement on the sort expression to determine what column it's coming from but I am unaware of how to set the css class.
i am working in asp.net and c# i have a grid view. i have 10 columns in that grid view. I have some problems with grid view header text color.some of the columns header have link (for sorting). the color of such header text is a light blue.after clicking the blue color change to another color.
some of columns header does not have link. the color of such header text is gray. i want to make the color of entire header text to single color like gray. after clicking the link it must be in same color.
I have a gridview that displays entries from a data table. I am giving users the ability to select a subset of the data in the table by having a textbox and search button in the grid view header. The search button fires the gridview row command, and changes the underlying sqlDataSource's select command, and adds the text value from the text box as a parameter.
Also, I have a "Show All" button in the header, that clears out the select parameters, so all entries in the table are shown. Again, this works perfectly.
What is NOT working is controlling the visibility of the "Show All" button control. Below is the html markup for the data grid header template:
<HeaderTemplate> <asp:Button ID="btnShowAll" runat="server" CausesValidation="False" CommandName="ShowAll" Text="Show All" /> <asp:Button ID="btnSearch" runat="server" CausesValidation="True" CommandName="Search" Text="Search" ValidationGroup="vldSearch" /><br /> <asp:TextBox ID="txtSearchName" runat="server"></asp:TextBox> <asp:RequiredFieldValidator ID="vldSearchName" runat="server" ErrorMessage="You have to provide an attorney name to search for." Text="*" ControlToValidate="txtSearchName" ValidationGroup="vldSearch" ForeColor="White"></asp:RequiredFieldValidator> </HeaderTemplate>
In the Row Command event handler, here is how I am setting the visibility of the button:
If Not Me.dgAttorneys.HeaderRow Is Nothing Then Dim btnShowAll As Button = Me.dgAttorneys.HeaderRow.FindControl("btnShowAll") btnShowAll.Visible = Me.sqlAttorneys.SelectParameters.Count > 0 Trace.Write("Show all status is " & btnShowAll.Visible.ToString) End If
The trace statement is showing the correct visible status - if the "show all" button is clicked, I do a SelectParameters.Clear() on the sqlAttorneys sqlDataSource.
Is my problem due to a misunderstanding of how the "FindControl" method works - I had assumed my new btnShowAll that I define is actually a reference to the "physical" control on the aspx page, so any changes I make to my local object is reflected in the control on the page.
If this is not the case, what is the best way to get a reference to the button control in the header row of the grid view?
I am using ASP.NET 2.0 and C#. I have a gridview, which has template columns. The columns have header text available. I would like to do sorting on each of the column header in the gridview the user clicks.
How to identify which column, the user has clicked?
however everytime i reload the page,backcolor disappears.If i move it out from IsPostBack block ,it works fine but i want to load grid only when the page loads for first time(inside !Page.IsPostBack).
I have a GridView (inside an update panel) that has header text that changes based on some user profile information. I set the header text in the Page_Load function of the page - that works fine. The problem is that when I change to the page number of the GridView, the header text is not redrawn. I am handling the OnPageChanging event to try to update the header text but nothing is happening. I've attached the relevant code.
I placed an Excel image in a header column on a Gridview. I want to allow the user the ability to click the icon and export the content of the Gridview to an Excel spreadsheet. How do I make the image an active link, so it will fire an event to access my code for the export.
I want to set header column width for grid view. I tried HeaderStyle-Width="30px". But it is depending on Item columns. The column width is setting based on item value. But I want fixed width even if it has value or empty.
I edited my gridview template by adding an additional column of checkbox and to its header
I managed to do a checkchange for select all or none and for selecting single of multiple checkbox.
My problem here is that when I try to select all, uncheck another checkbox, the header checkbox is still checked and the unchecked checkbox becomes checked again.
If i did not check my header checkbox and just check it normally, its fine.
I need a textbox for each column of the header row of my Gridview. Then whatever I type in, say the first column is a Surname, the Gridview needs to be filtered by records with only that Surname.
iam using ASP gridview. And i declare one label in headertemplate for setting heading of a particular column. How can i dynamicallly change the header text on a particular button click..
I have a gridview which I am trying to be able to sort by clicking the column header. Currently, I have the column header underlined by turning the 'allow sorting' function to TRUE, but when I click the column header, it does nothing.
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
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 sutmbled across somethig strange. When you ser theYou cannot set the color in a style and apply it to the heading of a grid, it will show in the templated columns, but not in the non-templated columns.
You can set the color for the non-templated columns with the HeaderStyle-ForeColor attribute, but it seems strange for it not to recognize the color in the style and seems redundant to have to specify a style and a color seperately.
Am I doing somethign wrong. Is there some sort of setting I have wrong that is causing this?