Forms Data Controls :: DropDownList With Dynamic Datasource In EditItemTemplate In Gridview?
Mar 2, 2011
I have two embedded dropdown lists in Gridview control. One gives you business channel options and the other represents products depending on the business channel selected.I am trying to use different data sources for product dropdown list depeding on what the user selected from the business channel drop down list. How could I do this. Here is my current code:
I have a dropdownlist embedded into an asp.net gridview. I have successfully populated the dropdown list in the footer but have not been able to populate the dropdownlist in the EditItemTemplate. Here is my code that works. I need to do the exact same thing for a dropdownlist embedded in the update functionality of the gridview.
i hvae a database named anil and TABLE NAMED COURSE_IN fields are (gridview with regnumber,name,dtjoin, qual, OY, OTY,VDA) and another table course with (OY, OTY,VDA) fiedls. my grid view displays adata from databse with edit facility.
one dropdownlist out side grid selected value is displayed in gridview
I have requirement to bind ASP.Net DropDownList control in EditItemTemplate of GridView.
I preferred the tutorial:
[URL]...
i have followed same steps just but difference is i have a edit imagebutton with commandname="Edit".Also dropdown needs to be binded from different table(directory) and not the table through whicch grid is binded(details).
if (e.Row.RowType == DataControlRowType.DataRow && (e.Row.RowState & DataControlRowState.Edit) == DataControlRowState.Edit && GridView1.EditIndex == e.Row.RowIndex) { DropDownList DStatusEdit = (DropDownList)e.Row.FindControl("DStatusEdit"); string query = "select distinct status from directory"; SqlCommand cmd = new SqlCommand(query); DStatusEdit.DataSource = GetData(cmd);
[CODE]..
the page is running but when i click edit image button the dropdwn shows but no data in dropdown binded it is empty.
My gridview is inside update panel.
How can i achieve this?
Should dropdownlist in my case be binded inside rowcommand and how?
Using Visual Web Developer Express 2010 with ASP.NET 4.0.
I have a FormView and I want to set a default value from the database. I can't get it to bind to the value in the database. My FormView looks like this:
[Code]....
The EditItemTemplate does not even load when I click the edit button on my FormView control, but I don't get an error message either.
I have a gridview and it has two EditItemTemplates. I want to update the items inside the second dropdown (EditItemTemplate) when I select an item from the first dropdownlistbox (EditItemTemplate). I want to update dropdownlist2 when I select an item from dropdownlist1. How can I do this?
I'm attempting to load DropDownLists from the C# codebehind as the FormView switches modes to Edit and displays the EditItemTemplate. I present the data in a FormView ItemTemplate using text boxes. When the user selects Edit, I have been attempting to load the EditItemTemplate dropdownlists by creating a dataset and binding it to the control, without success.
I've successfully loaded them in previous projects from within the .aspx code using <asp:ListItem> and within the C# code behind using Control.Items.Add(new ListItem), which are essentially the same thing of course . This project is different in that I want to get the data from a stored procedure on a MSSQL server.
In my latest attempt, I can see the data in the datasets. I'm getting "Error connecting to database.'eitRace' has a SelectedValue which is invalid because it does not exist in the list of items.Parameter name: value"
I include the code below. If someone could point me to an example I would be greatful. There has to be an elegant way of accomplishing this.
I have a dropdown list within a listview 'EditItemTemplate' and 'InsertItemTemplate" which I am trying to populate from the database with code behind with ItetmDataBound event. Problem is I am getting NullException when I use this code which works fine for ItemTemplate.
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 have GridView with template column binded to some field. In edit mode I would like to set default value to this field when it is not initialized (this is time value and I would like to set it to default 8:00 - this prevent user from entering this value) - how to do this?
When i Updating my gridview and i modify the value of dropdown the update is all ok, but if i not modify the dropdown and leave the selected value after the update i see another value, the first of listitem of my dropdown.
This is my code:
Sub GrdUpdate(ByVal sendere As Object, ByVal e As GridViewUpdateEventArgs) Dim ID_ricette, NomeRicetta As String Dim NomePortata As DropDownList Dim NomePortataSel As String If Not e.NewValues(0) Is Nothing Then ID_ricette = e.NewValues(0).ToString NomeRicetta = e.NewValues(1).ToString..........
I want to add inputs from textboxes, ddl to datagridview without saving it to database by clicking on add button as many rows i want and later save it to database when clicked on save button....
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 Dropdownlist in an itemTemplate in a gridview. My gridView binds to dataTable1 (from which the selected value for dropdown comes from) and dropDown binds to dataTable2 (i need to get DataValueField and DataTextField from here).
I have a gridview and I do Add, Modify and Delete operations. I am comfortable adding and modifying any text or date value. Now, I have a dropdown list to be displayed. I need to add and modify. The contents in the dropdownlist is fixed. Below is the code. I know there is a problem in my
ths is my html code here i am editing the gridview data on the edititemtemplate itself but it shows error when i am going to get the testiActive .And also the when i delete it shows the object Reference exception. i do no what the issue the same thing i used on the updating - there i got the id value - when i am going to delete it show error ther.
[Code].... and here is the updating code
[Code]....this is my Gridview_Deleting Code
string id = ((TextBox)GridView1.Rows[e.RowIndex].Cells[0].FindControl("testid_TextBox")).Text;
I have a "simple" gridview that has some columns, and the ability for editing/deleting. I recently found that I can change the editing textbox to a dropdownlist and have follow that, using:
[Code]....
It's quite simple and instead of using an sqldatasource, I have successfully implemented using the sqlclient in the codebehind to bind data only when I want (since this GridView is for "reports" and is queried by many parameters from user inputs).From what I've found online, the only way people have populated the dropdownlist is by using an sqldatasource - is there any way to populate it using the codebehind sqlclient like I have for binding the gridview and other dropdowns on the page that are exactly the same actually. I'd obviously have to set the SelectedValue to be what the value is coming from the database, which I can't see being that difficult.
The tough part seems to be knowing when to access this "MoneyTypeEdit" dropdownlist. I thought it would be in the RowEditing event, so I tried something like:
[Code]....
And I know everything outside of the "inserted code" works, because it was fine before I added that, but the dropdown obviously didn't have any values. And I know the code inside the "inserted code" works because I use it somewhere else on my page to populate a similar dropdown. But I get the error that MoneyTypeEdit is null, and I'm guessing it's because it can't find the "MoneyTypeEdit" dropdownlist.
I am trying to bind the datasource of a ddl which is located inside the EditTemplate of a TemplateField.When is the best time to bind this datasource (after loading grid, before editing, ? (Note: I must do this in code behind).I am currently trying to bind it on the edit command:
[Code]....
The issue is that the list retrieved from the LoadLists method is null when passing to the LoadList method where the datasource is bound.
I have 2 dropdownlist(ddlCategoryFooter and ddlItemCodeFooter)inside my gridview. I want to set ddlItemCodeFooter 's datasource to my getItemList(decimal categoryID) method. The selecteditem of ddlCategoryFooter will serve as the paramter which will be passed to my getItemList Method. Basically,ddlItemCodeFooter is dependent on ddlCategoryFooter's selectedItem.
I know it can be done in code behind approach but i prefer to place it in my asp page.
Gridview showing error while trying to edit records
error: Server Error in '/' Application.
Object reference not set to an instance of an object.An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.
Source Error:
Line 134: GridViewRow row = (sender as Button).NamingContainer as GridViewRow; Line 135: //string Invoice_No = (row.Cells[0].Controls[0] as TextBox).Text; Line 136: string orderdate = (row.Cells[1].Controls[0] as TextBox).Text; Line 137: string Posted_By = (row.Cells[2].Controls[0] as TextBox).Text; Line 138:
I have a textbox inside edit template and it is binded with the data. Somehow, textbox data starts from the middle instead at the beginning of the box. I can use textarea where it starts from the starting point but I cant bind the data inside the gridview.