Forms Data Controls :: Gridview Getting Headertext From Underlying Datasource Column Name?
Feb 25, 2011
I have a GridView whose AutoGenerateColumns="False". However, I don't want to statically specify the HeaderText for the columns in HTML markup. Rather I'd like to set the HeaderText to be the name of the underlying SQLDataSource column name. How can I do this?
I have a grid that is built as well as populated dynamically through c# code. The grid has 3 columns(3 bound fields). And data is being populated in those bound fields through c# code programatically.
Elaborating my question: I have 3 bound field columns(col1, col2 & col3) . I have to increase the rowspan of col2 and col3 headertext's to 2 i.e I want the col2 and col3 header texts to span across two row cells. But the col1 header text should span across just 1 row. And the extra rowscell that is created under col1 due to the increase in the rowspans (of col2 and col3 boundfield headertexts) should be populated with some random text, i.e something like XXXXX
I have a Gridview, lets call it GVDistinctDate which displays Distinct Date in one column only. For example: I got 5 rows, and 1 column where the column only display distinct dates such as 02/04/2010 | 03/04/2010 | 04/04/2010 | 05/04/2010 | 06/04/2010 where obviously this dates come from a table in the database.
Now i want to take those dates in GVDistinctDate and assign it to another gridview, lets call it GVReport, as column Header Text. For this GVReport, the first column would be StudentID where a list of studentid will be displayed, and then starting from the second column onwards, where the Header Text would be the dates from GVDistinctDate, will display a Status of absent or present according to the studentID and the corresponding date. How do it get the dates from GVDistinctDate into the column Header Text of GVReport?
AND how do it display the Present or Absent status based on the studentID in column 1 GVReport and the dates on the Header Text? Below are the codes of how i got the distinct date into GVDistinctDate
[Code]....
The code below is for GVReport and the comments are where i tried to put in the dates into the column header text.
[Code]....
There is a problem here: GVReport.Columns(k).HeaderText = headerText Error:Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index
I would like to add a column in my datagridview that takes the value from the database and asigns it to the text of a linkbutton or make it a hyperlink. i know how to handle getting the value from the row but dont know how to make a value a link, or set the text to a link button
Is tehre anyway to set the HeaderText dynamically on a gridview? I'm trying the below, it kind of works, but the problem is on the initial load nothing shows up, but when I postback then the new text populates: grdvMyTest.HeaderRow.Cells[5].Text = GetTheCalculatedDate();
I've tried that in both Page_Load and grdMyTest_Load, but same thing happens in both. When the page initial loads the column header text is blank, when I click something causing a postback it pops up. I don't have a IsPostBack check around that line, so it should be running regradless. I'm guessing I'm doing it at the wrong event, either too eariler or too late.
I am using Templates in GridView, but now I have to change the "HeaderText" of each column from code behind. I don't have <HeaderTemplate> so therefore I cannot use FndControl() in header row.
Is there a way to change the HeaderText of each colum without using <HeaderTemplate>
Here are the templates of the GridView which I am using
i have gridview in my asp.net web application under framework 3.5. I am binding the gridview with List. Inside the grid there is update and delete functionalities which are running fine. But my save functionality, for which i decided to extract the list back from the datasource and then through loop i will insert the new list to database. But when i tried to get it conventional way it returned me null.
I tried the following ways to retrieve the List back.
1. List<MyClass> list = (List<MyClass>gv.DataSource);
2. List<MyClass> list = gv.DataSource as List<MyClass>;
I am using VS2008.I am binding dynamic datatable to gridview. I have few dropdowns and textboxes in gridview. I have dropdownlist(ddlTrCodeNw_)in gridview foooter template. Based on the selection of Trcode value few controls will be enabled,disabled,visible,hide. in gridview.
<asp:GridView ID="gvAPPost" runat="server" Width="100%" ShowFooter="true" AllowPaging="true" AutoGenerateColumns="false" onrowcommand="gvAPPost_RowCommand" onrowdatabound="gvAPPost_RowDataBound" > <Columns> <asp:TemplateField HeaderText="Discount %" Visible="false"> <FooterTemplate> <asp:TextBox ID="txtDiscountPerNw" runat="server" Width="40px" Enabled="false" Visible="false" ></asp:TextBox > </FooterTemplate> <ItemTemplate> <asp:TextBox ID="txtDiscountPer" runat="server" Width="40px" Enabled="false" Visible="false"></asp:TextBox > </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView> Intially I set TemplateField HeaderText also Visible="false". so i have written the condition in ddlTrCodeNw_SelectedIndexChanged. Now when if(ddlTrCodeNw.SelectedValue=="24") { txtDepstNw.Enabled = true; txtDepstIncNw.Enabled = true; txtCrdtNw.Enabled = false; txtCrdtIncNw.Enabled = false; lblDiscTrcodeNw.Visible = true; // I want to show this TemplateField HeaderText also when i need. }
I can I show TemplateField HeaderText also whenever i need.
how to load Gridview HeaderText values from resource (.resx) files.I want to display headertext values for Gridview based on two different application dynamically.
I want to display gridview column heading when mouse over to the particular column in the gridview.I am working in VisualStudio 2005 with MS.Net2.0 framework.I don't want to use ajax.
I have tried to query a table with an xml column by using XQuery and I can't get the Select to work.
All my knowledge/understanding of the subject comes from this MSDN article:
[URL]
so I am probably overlooking something minor:
I tried this query Select col1, Phone.Query('element CellPhone {I am not sure about what goes here} I tried {data('Phone/cellPhone} from aTable Where Phone.Exist('/Phone/cellPhone/text()[contains.,"412-8977"]') = 1 This syntax is definitely not fun.
I have a gridview which is binded to a Sqldatasource. I would like to replace a column data field value to 'Not Applicable' if that column has got a value of 2 in database.
I am using GridView ,I want to do a validation like if i edit any one of the Cell in that column, it will through the validation when the sum of column value is more than 100. How can i do this validation?
I cannot figure out why HeaderText or validation controls always fallback to default culture - even though rest of the controls are in correct culture.
I have a GridView with HeaderText specified in this way>
Scenario: I am creating a custom gridview control which has a custom CheckBoxTemplateField column (deriving from TemplateField class). This template field column has custom Checkboxheadertemplate (implementing ITemplate) and CheckboxItemTemplate (also implementing ITemplate). In InstantiateIn method of both templates (header as well as Item template), I am adding a checkbox control which has Autopostback = true.
My requirement is: I want to mark all the values in the binding column of datasource if checkbox in headertemplate is checked. I dont want to mark only rows visible on grid. I WANT TO MARK ALL ROWS IN DATASOURCE. I want to do this in _CheckedChanged event of checkbox in header template.
Problem I am facing: When I check/uncheck the checkbox in header, it postbacks. so in OnCheckedChanged event, gridview's datasource is null. Secondly, in any event of gridview, I could access only those rows of datasource for which corresponding rows are visible in gridview through Gridviewrow.DataItem property. But I want to set it for all rows in datasource.