Web Forms :: Dynamic Controls Creation / Rendering Based On Postback Values
Nov 8, 2010
I had successfully created a functionality where I can dynamically add rows and columns to a asp table by creating/re-creating controls on every page load.
I have 2 buttons - Add rows and Add columns that, basically according to a asp.,net page life cycle, occur in the following order and work perfectly fine.
Page load is fired and controls along with their viewstate are recreated. In Add row button click event - I just create a new table row and add controls to each cell dynamically.
Same thing with Add column, Delete Row and Delete Column button click events.
However, now I added a Dropdown which when its index is changed needs to retrieve values from the database and create controls based on those values and then also bind the Db values.
But it doesn't work correctly since the asp.net page cycle cannot capture the dropdown's selected value in page_load as the page_load fired first and then the selectedindexchanged event is fired later, the controls are not created.
I don't know how to handle this scenario and incorporate it into my existing code.
View 3 Replies
Similar Messages:
Jan 17, 2011
As the title says , i'm looking for some kind of technology that allows me to dynamicly add & remove usercontrols.Without a postback ofcourse :)A link would be awesome , example code would be super!
View 1 Replies
May 28, 2010
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];
}
}
[/CODE]
View 7 Replies
Mar 29, 2010
I have a View that renders something like this:
"Item 1" and "Item 2" are <tr> elements from a table.
After the user change "Value 1" or "Value 2" I would like to call a Controller and put the result (some HTML snippet) in the div marked as "Result of...".
I have some vague notions of JQuery. I know how to bind to the onchange event of the Select element, and call the $.ajax() function, for example.
But I wonder if this can be achieved in a more efficient way in ASP.NET MVC2.
View 1 Replies
Jun 22, 2010
I am new to workflow and just know some of its features. I want to do a project in WF. It will be a web based intranet application where user will be able to define workflow dynamically through web interface.Duration for completing a task can be many days.With these requirments I am not sure will use of WF helpful in quick development or it will increase work ?Please advice me should I try to learn WF for this project or should do it with C# and asp.net
View 1 Replies
Aug 20, 2010
how can i add empty editable rows in gridview dyanamically in c sharp web application
View 5 Replies
Mar 29, 2010
I have gridview control where i have added two templates one template is the dropdown box another one is the text box.
I have common controls (Edit,update,cancel)
In the form i have one button .
On click on the button one new row is created in the grid view
Now how do i fetch the data entered in the dropdown box and the textbox.
How to reload the updated data to the dropdownbox,textbox.
On edit(twice) click it is switching to Update and cancel mode
On Cancel(twice) click it is switching to Edit mode.
View 1 Replies
Jan 11, 2010
I have created a gridview at runtime. its working fine when i load the grid first time. after when i am selecting next value from ddl to load grid according to that option(selecting from dropdown list and coresponding values showing in grid) showing error that "A field or property with the name 'datafield name' was not found on the selected data source."
might be i am getting this error becuze the privious value is not being cleared"
View 28 Replies
Sep 8, 2010
I'm trying to build a website for real estate listing. now the data would look like a datagrid. and while clicking on it, it should open under the clicked row the dynamic data related to the specific row. (like an AJAX accordion). this website for example ( ignore the language, couldnt find any better example [URL] Now, i've been told that this works by using "Dynamic Div Creation" which i have no idea how it should work this way. Is it possible to make it work by using an Accordion inside a datagrid? or what?
View 4 Replies
May 10, 2010
I have a stored procedure (For Eg: sp_GetAvlData) that accepts a number of parameters, 3 of which are TimeFrom, TimeTo (as varchar) and TimeInterval (as int), formulates a Dynamic query and executes itself. So for instance, if I call the proc as follows:
[code]....
dtAvl is the datatable containing the results of my stored procedure.
The next step for me is to make each of the cells (except the cells in the first column) as a Hyperlink so that when clicked upon a cell, it populates 2 textboxes with the selected Timeslot and Name or ID (ID field is not displayed in Gridview). The textboxes are located on the same page but outside of the Gridview control.
The Challenge that I'm facing out here are:
1) As you can see, the field names being generated are not fixed and I have no control over them.
2) Because the field names are not fixed I'm not sure I can implement this using the Templatefields or BoundFields of Gridview.
Is there any way to achieve the Hyperlinking of these cells within the Gridview?
View 3 Replies
Mar 24, 2011
I need to create dynamic radio buttons in my page, and then access their values in postback
I create the buttons using the following code:
[Code]....
In the post back I try to access the radio buttons using their created ID:
[Code]....
But it seems that the find method is never finding the Radio button control.
View 1 Replies
Jan 11, 2011
UpdatePanel1 contains dynamic controls and a Treeview,
UpdatePanel2 contains Image, and UpdatePanel3 contians dispaly information and several buttons. I set up the Triggers in the UpdatePanels.
however when I click one of the Buttons the dynamic controls in UpdatePanel1 get wiped out but the state of the rest of the controls seems ok. I would like for the dynamic controls to stay.
View 3 Replies
Dec 17, 2010
I am having an issue with the gridview in ASP.NET. Everything works well when running from IDE in both debug and without debug. When I publish to IIS I have a gridview that I use in two places. It works fine in one place but not the other. In one instance I am using an IFRAME tag to display the page that uses this data grid. When I first load it it works fine, I can click on a row. But after clicking on that row after the first postback, I can no longer get it to postback again on future clicks. I used firefly and after clicking the first time on the grid, the tags for the table are not rendered though I can clearly see the grid. Confused... Here is the rendered code before clicking on it using firefly. (oh yea, this gridview is also inside of an updatePanel) (In the below I replaced actual data with xxxx)
[Code]....
Below is the code after clicking on the grid.
<div id="UpdatePanel1">
<div style="background-color: white; width: 818px; height: 405px; overflow: auto" onscroll="GetScroll()" id="divFill">
<div style="padding-bottom: 5px; background-color: buttonface; width: 818px; height: 20px; padding-top: 5px" id="NavFoot" align="right">
</div>
Also, if I did not provide enough information let me know.
View 3 Replies
Jan 20, 2011
I am working with a user control which is inside an UpdatePanel. The user control uses swfobject to add a flash object to a div in the user control. Part of the functionality of the user control is it allows the user to change 'channel'. The channel is set and handled in the code behind hence the call in the JavaScript below to <%=channel%>.
The problem I have is that when the new channel is saved, the JavaScript code below is still pointing to the old channel. The only way I can fix this is to refresh the page via the code behind, but I'm thinking there must be a better way to do this..
[Code]....
View 2 Replies
Nov 27, 2013
In my gridview I have
EDIT RoleUID RoleID Role Desc ....etc columns
each table contains first "EDIT" and then UID column and ID column etc columns contains.
Now i added new row with the code which you posted. But once i click on "Add New" button then the new row added like
EDIT textbox textbox textbox etc
I need INSERT in place of EDIT
and i am displaying textboxes 0 positon of grid
for (int j = 2; j < cellCount; j++)
How to display "insert" and how to put lable with uid and id values which are autogenerated..
View 1 Replies
Feb 4, 2011
In my application i placed a button.While clicking on button i need to generate one dynamic textbox.For every click i need to generate textbox. Ex: For the first time if i click on button i need to generate textbox.If again i click on the button i need to generate one more textbox.
View 2 Replies
Oct 27, 2010
I have a table created on the front end of my code called "tblSearchlist". In my code behind I have the following.
[Code]....
All this code works fine. What I want to do now is insert another dynamic table within cell1. Any ideas how to do this. This process can be done on the front end like so but I need it in code behind.
[Code]....
View 1 Replies
Mar 11, 2010
I just created the checkbox dynamically from database,but i can't access the individual checkbox value.
[Code]....
here i'm getting the checkbox, but can't access the individual checkbox value other than that i need checkbox to be displayed rowwise.
View 3 Replies
Jun 27, 2010
I am developing an asp.net website and i want to dynamically add buttons on the web page and add attributes to the buttons.
View 11 Replies
May 15, 2010
I am developing an medical Application. This application has 3 Types of users. In this application I have to use a single master for displaying menus and i have to change the menus based on the user. Since i have to use ul, li tags to create menus. How can i set the Text for this li tags in server side.
View 3 Replies
Mar 3, 2011
I have a user control.
On that user control is an update panel.
In that update panel is a wizard.
One of the steps is as follows.
[Code]....
What this does is create a javascript spinner control. Now when I click the NEXT button onto this step it generates the spinner control. I click next to go to the next step, then I click PREVIOUS to go back to this step and the spinner control is not generated.
Now I have tested this on an ASPX page and it seems to work, I then copy the code across to an ASCX control and put the page live and it does not work.
The update panel has an animation extender that just displays a div with a processing gif when you click next/previous.
So any reason why it creates the control on the next and not the previous step?
View 1 Replies
Jun 8, 2010
I am using two user controls in my page. The controls are loaded dynamically one at a time. I'm just referencing the user controls in the page and loading them dynamically using 'LoadControl()'. Everything is working fine till now and the user can switch the controls one another.
Here the issue I found is eventhough the controls are working as expected and the data is visible, the rendered HTML contains only the first loaded user control's markup.
Even if the current control displayed is 'usercontrol2', the source shows 'usercontrol1' markup. How can I force the page to render 'usercontrol2' markup and remove 'usercontrol1' markup while loading'usercontrol2'?
View 6 Replies
May 23, 2010
I am trying to create a table at runtime which is populated from information in a database. At the present time the table displays as follows: The problem is I need the "test test" text to be in the middle of the table, however if I show a box around the cell it only takes up the 1st half of the table regardless of the width I specify. Is it possible to have a dynamic table that effectively has rows where the cells are merged together in a specific way to allow the control to be positioned where I want it? THe code I am using to create the table is as follows:
[Code]....
where I am going wrong or is what I am trying to achieve not possible with a dynamic table?
View 2 Replies
Feb 9, 2010
My current task is an ASP.NET page to display the contents of a data object. One of that object's properties is a list of named lists. For opacity's sake let's call it a Company, which has a list of named locations, and each location is associated with (only) a list of employees.In case it matters, Company has this property implemented like so:
IDictionary<string, IList<Employee>> mEmployeesByLocation;
Each of those lists can display very easily in a GridView. What I think I want is to put the whole thing in a TabContainerand have a separate TabPanel containing each grid. The tabs and grids will be identical to each other, and the name of each tab will be the associated dictionary keyIs there a good way to do this? My first thought was to use a Repeater, but you can't put one inside a TabContainer. The parser doesn't know what to do with it there.So, it looks like I'll have to create the tabs programatically. Fair enough. If at all possible, I want to avoid having to also create the individual grid controls and programatically assign all their properties.One suggestion I've gotten is to subclass TabPanel and make it work like a user control, containing a GridView and knowing how to pass databinding through to it. I'm not sure how to go about that, though, or if it will even work. I know how to subclass a control, but I don't think something can both act like a TabPanel and contain controls like a user control does.
View 2 Replies
Feb 1, 2010
I have html table with 1 row to fill in job details for a position.Now If a user wants to fill in job details for another position,on clicking a link, a new row should be created dynamically each time the user clicks the link.
I'm using frontpage.
View 3 Replies