C# - Dynamically Changing Header Text Of A Gridview Column?
Feb 1, 2011
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 cannot sort after adding GridView_AA_RowCreated function. Each column of Grid view header-text worked well before I add this Row Created function. If I cut the following code: e.Row.Cells[2].Text = "Period Name"; Sorting works. I want to get sorting without removing this Row Created function. Do you have any brighter solution about my problem?
protected void GridView_AA_RowCreated(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.Header) { e.Row.Cells[2].Text = "Period Name"; //Change header text in run-time } }
Let's say I have unsorted 2 types of data.2 list box contains. 1,2,15,6,4 and apple, banana, carrot, dove, eggplant. . How can I sort it then make it as my HeaderText for GridView Column after a button is clicked?.
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'm trying to change the text of a GridView label in an ItemTemplate and I am having some issues. I searched all over and can't find a solution. This is what I am trying to do...
I have a GridView that has a comment field. Normally when the page is rendered the comment field is truncated using a truncate class that limits field length. The full contents can be displayed in a tooltip when the comment field is hovered over. That part works fine.
I also have an export to Excel class that will take the Gridview and export it to Excel and that part works fine as well...
Now the issue... Because of the truncated field, when I do an export it will export exactly what is in that field, the truncated version of a comment. When the export button is clicked I need to change the .text value of the label that is in the GridView ItemTemplate
From this truncated version...
[Code]....
And then back again after the export routine is complete.
I have accessed the contents of a label before using FindControl but never set a value, is this possible? Also, I have captured what is in the comment field on RowDataBound but by that time, it is already truncated.
i m using an ajax accordion control. i m generating the Accordion Pane, header and content dynamically. i have two cssclasses for header. now i want to do is like that for the 1st header there will be different background image then all other headers in the accordion panes. can any one tell me how can i able to do this? is it possible in the accordion control or not?
At a certain point in my program, I successfully re-set some of the Header titles programmatically:
Code: Private Sub dgAccountability_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles dgAccountability.ItemDataBound If e.Item.ItemType = ListItemType.Header Then Dim previousYear As Integer = (Integer.Parse(year) - 1) e.Item.Cells(1).Text = "YTD Hours " & previousYear.ToString
What would be the best way of going about doing this;
On my website I am putting some short stories in and allowing people to change the name of the characters in the story to match their own. I was going to keep the stories in a SQL DB but not quite sure how I would go about changing the names of the characters dynamically?
Would I be best using say (Name1), (Name2) etc in the stories in the DB then changing it using a string query on the code behind or is there a better / quicker way to acheive this?
I was using the VisualTreeHelper trying to locate a textBlock inside the datagrid columnHeaders. I have just learnt that : "The Header object of the DataGridColumn is actually the visible header of that column, whatever you set it to be. DataGridColumn is not part of the Visual Tree so there is not direct way to access the DataGridColumnHeader for it (we can't even be sure it exists yet)... " This has set me back by a couple of days. I tried to convert the suggested code to vb.net in order to use it but I don't seem to get it right. The code in c# is :
Code:
ataGridColumnHeader headerObj = GetColumnHeaderFromColumn(column); private DataGridColumnHeader GetColumnHeaderFromColumn(DataGridColumn column) { // dataGrid is the name of your DataGrid. In this case Name="dataGrid" List<DataGridColumnHeader> columnHeaders = GetVisualChildCollection<DataGridColumnHeader>(dataGrid);
[Code] ...
How to apply it in my scenario shown below. I want to access in order to rename the textblock 'columnHeaderName'. How can I do this?
I want to dynamically bind dataset values into datagrid's header datafield.
Is it possible? To be more clear, when you click on datagrid's (Collection) from properties window, you get selected columns created from Bound column. So in those columns I want to dynamically display dataset's table values in those columns.
i.e like ds.Tables[0].Rows[0][0].
Is it possible to do it in Datagrid ItemDataBound function like,
e.Item.Cells[1].Text = ds.Tables[0].Rows[0][0]
or something like this? I know the above code is wrong and wont work since I tried it out and while building it throwed error saying, Cannot implicitly convert type 'object' to 'string'.
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 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 haven't had any luck finding the answer yet. My problem is that I want to be able to update the dataformatstring on a gridview column at runtime. For example, I switch from displaying # of units to cost of said units... and I want to change the format of the column to {0:c}. It seems like it should be a simple task.
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.