Forms Data Controls :: Display Dynamic Gridview Headertext Values From Resource Files?
Jun 20, 2010
how to load Gridview HeaderText values from resource (.resx) files.I want to display headertext values for Gridview based on two different application dynamically.
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 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 am using a gridview in my web page,i used to bind the database records to the gridview..my columns are name,empid,company name,pl leave,sl leave,total leave taken here total leave taken is not a database fields,in the page i want to fill the records once loaded pl leave and sl leave is added and display in the total leave taken column..it working properly when all pl ans sl columns fill with numbers,if some pl and sl leave having blank values.it showing an error like input sting was not in correct format..this is my code
I'm new to web dev and c# so please bare with me. I am trying to create a dynamic gridview in a web form for users to to answer questions with (code below).
The dificulty im having is that i am nesting a dropdwonlist in the gridview and want to be able to dynamically set the list values based on parameters (of the row they are on). These values are in the main dataset for the gridview as each row represents a questionid and question text and then a ddl for the criteria...
I just don't know how to set the values for the dropdown all the code so far is below... just need to be able to populate the dropdowns with the relevant values.
I have created a stored proc to return the different criteria based on the questionid and questionGroupid which is the dataset that populates the other fields in the gridview: dbo.usp_QuestionCriteria @QuestionGroupId, @QuestionId
I have added this as a tableadapter called criteriaTableAdapter in a xsd file as well using the wizard... not sure if this is the right option though or just use the same method as i have for the other stored procedure as in the code below:
[CODE
]using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["Sql"].ConnectionString); con.Open(); SqlCommand com = new SqlCommand("usp_QuestionGroupDS", con); com.CommandType = CommandType.StoredProcedure; SqlDataAdapter ada = new SqlDataAdapter(com); DataSet ds = new DataSet(); ada.Fill(ds); for (int i = 0; i < ds.Tables.Count; i++) { if (ds.Tables[i].Rows.Count > 0) { GridView gvDynamicQuestion = new GridView(); gvDynamicQuestion.Width = Unit.Pixel(700); gvDynamicQuestion.BorderWidth = Unit.Pixel(0); gvDynamicQuestion.Caption = "<div id="nifty" class="QuestionGroup"> <b class="rtop"><b class="r1"></b><b class="r2"></b><b class="r3"></b><b class="r4"></b></b>" + ds.Tables[i].Rows[0]["Category"].ToString() + " Questions<b class="rbottom"><b class="r4"></b><b class="r3"></b><b class="r2"></b><b class="r1"></b></b></div>"; gvDynamicQuestion.AutoGenerateColumns = false; gvDynamicQuestion.ShowFooter = true; TemplateField tf = null; tf = new TemplateField(); tf.HeaderTemplate = new DynamicGridViewTextTemplate("QuestionId", DataControlRowType.Header); tf.ItemTemplate = new DynamicGridViewTextTemplate("QuestionId", DataControlRowType.DataRow); tf.FooterTemplate = new DynamicGridViewTextTemplate(DataControlRowType.Footer, ds.Tables[i].Rows.Count); gvDynamicQuestion.Columns.Add(tf); tf = new TemplateField(); tf.HeaderTemplate = new DynamicGridViewTextTemplate("Question", DataControlRowType.Header); tf.ItemTemplate = new DynamicGridViewTextTemplate("Question", DataControlRowType.DataRow); gvDynamicQuestion.Columns.Add(tf); tf = new TemplateField(); tf.HeaderText = "Criteria"; tf.HeaderTemplate = new DynamicGridViewTextTemplate("Criteria", DataControlRowType.Header); tf.ItemTemplate = new DynamicGridViewDDLTemplate(); gvDynamicQuestion.Columns.Add(tf); ////tf = new TemplateField(); ////tf.HeaderText = "Criteria"; ////tf.ItemTemplate = new DynamicGridViewDDLTemplate(); ////gvDynamicQuestion.Columns.Add(tf); gvDynamicQuestion.DataSource = ds.Tables[i]; gvDynamicQuestion.DataBind(); phDynamicGridHolder.Controls.Add(gvDynamicQuestion); } } } protected void DynamicGrid_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.Footer) { // } } } public class DynamicGridViewTextTemplate : ITemplate { string _ColName; DataControlRowType _rowType; int _Count; public DynamicGridViewTextTemplate(string ColName, DataControlRowType RowType) { _ColName = ColName; _rowType = RowType; } public DynamicGridViewTextTemplate(DataControlRowType RowType, int QuestionCount) { _rowType = RowType; _Count = QuestionCount; } public void InstantiateIn(System.Web.UI.Control container) { switch (_rowType) { case DataControlRowType.Header: Literal lc = new Literal(); lc.Text = "<b>" + _ColName + "</b>"; container.Controls.Add(lc); break; case DataControlRowType.DataRow: Label lbl = new Label(); lbl.DataBinding += new EventHandler(this.lbl_DataBind); container.Controls.Add(lbl); break; case DataControlRowType.Footer: Literal flc = new Literal(); flc.Text = "<b>Total No of Questions:" + _Count + "</b>"; container.Controls.Add(flc); break; default: break; } } private void lbl_DataBind(Object sender, EventArgs e) { Label lbl = (Label)sender; GridViewRow row = (GridViewRow)lbl.NamingContainer; lbl.Text =DataBinder.Eval(row.DataItem, _ColName).ToString(); } } public class DynamicGridViewDDLTemplate : ITemplate { // Implementation of ITemplate public void InstantiateIn(System.Web.UI.Control container) { // Create a DDL DropDownList ddl = new DropDownList(); //Attach method to delegate ddl.DataBinding += new System.EventHandler(this.ddl_DataBind); container.Controls.Add(ddl); } //Method that responds to the DataBinding event private void ddl_DataBind(object sender, System.EventArgs e) { //DropDownList ddl = (DropDownList)sender; //DataGridItem container = (DataGridItem)ddl.NamingContainer; //ddl.Data.Checked = [Data binding expression]; } }
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.
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 that calls a stored procedure that allows the user to search a parts list. In the gridview, I added a textox for Quantity and a button to Add to Quote. The idea here is that the user searches for parts, enters a quantity for a selected part, part is added to quote and user searches again for more parts. Here's my gridview code:
[Code]....
I've also created QuoteParts.aspx as follows:
[Code]....
Questions:
1. How do I display the gridview values including textbox Quantity in my listbox?
2. How do I ensure that parts remain in the listbox after another search is performed? If it's viewstate, can you provide an example of how to go about doing this?
3. The values in the listbox will ultimately be written to the database on an insert record when customer creates a quote. Is there a way to streamline this process so that the insert is started when gridview textbox quanity is entered? I'm thinking about using a wizard control with first step being a display of selected parts, culiminating in an insert statement.
Singles and suppers are money fields for the price of same item. A bit like the price of a Small, Medium or Large item. What I would like to do is display the 'Singles' price and 'Suppers' price in seperate listitems so the user can choose 1 of them.
GridView: Traditional Name__________Size Chicken-------------------[DROPDOWNLIST]
DropDownList: Price of Single is: £1.50 Price of Supper is: £2.50
My page loads up with the correct items in TraditionalName colum but the DropDownList is completely empty. I'm aware I don't have anything in for DataValueField and DataTextField but I have tried putting things in these attributes, like Suppers and Singles, but nothing works, so I have taken them out below.
I have a gridview which is having coloumns Company name, Industry type, country, employees, revenue. i want to add dropdown at the top of each coloumn so that if user select industry as agriculture, all agriculture industry rows may be sorted, and same for other dropdown also.. i it may be possible,
I have a gridview in my aspx form. I have used template column & in that created a table. In the table of the Item template , I am displaying some fields. My requirement is that when I click on any row, the correspoding data should be placed in proper text boxes. Each row in itemtemplate has a unique id called UserId.
i have a requirement like...we display all the mp3 detaiils in a gridview...a link button or hyperlink is placed in the gridview..once the link button or hyperlink is clicked a seperate popup window shouls appear and respective songs or audio file should be played...
i want to show selected row of gridview into textbox then we can change these value  then we click update button then these value add into selected row., this row show the update value not previous using jquery . following my code.
<script type="text/javascript" src="~/Scripts/jquery-1.10.2.js"></script> <script type="text/javascript"> $(document).ready(function () { // function Edit() { var par = $(this).parent().parent(); var id = par.children("td:nth-child(1)"); var name = par.children("td:nth-child(2)");
I am able to delete the file from database but not from folder. I am also displaying the path in gridview bound field. How do i use Directory.Delete(path of file here)
In our web application we need to keep various company's settings. For eg "DiamondProdRefIDCaption","Shippingpickup","ZipCodeCaption","DefaultCountry","AllowToEditInvoice", etcThese settings are different for various companies and are placed in web.config as key-value pair.Initially, we have tried do simplify this process by adding a company_settings table in the DB so as to allow us to add companies on the fly. However, this method makes it very difficult to add a new setting
I have used the tutorial for Save and Retrieve Files from SQL Server Database using ASP.Net It's working well for saving and retrieving on page OR on label. For the file retrieving section i want the file to be displayed as link "Download" in Gridview and when i click on download link file should start downloading.