C# Tutorials and offshore development in India
    Tutorials   Resources   Forum   Reviews   Communities   Interview   Jobs   Projects   Training   Your Ad Here    
Silverlight Games | Mentor | Code Converter | Articles | Code Factory | Computer Jokes | Members | Peer Appraisal | IT Companies | Bookmarks | Polls | Revenue Sharing | Lobby | Gift Shop |


Prizes & Awards
My Profile



Active Members
TodayLast 7 Days more...






Forums » .NET » ASP.NET »

dynamically created dropdownlist


Posted Date: 11 Jan 2009      Posted By: padma      Member Level: Gold     Points: 1   Responses: 4



hi

when i clicked a button i am creating a dropdownlist dynamically. how can i write selected index changed event for that dynamically dropdownlist.






Responses

Author: Pascal    11 Jan 2009Member Level: GoldRating: 2 out of 52 out of 5     Points: 2

hi Padma, You can write it as below.

ddl.SelectedIndexChanged += new EventHandler(ddl_SelectedIndexChanged);

void ddl_SelectedIndexChanged(object sender, EventArgs e)
{
.....
}



Author: Balasubramaniyam    12 Jan 2009Member Level: GoldRating: 2 out of 52 out of 5     Points: 6

hi padma, finally come across the solution for your problem. Good Question. Below code will work perfectly.
////////////////////////Aspx/////////////////////
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:PlaceHolder ID="placeHolder1" runat="server"></asp:PlaceHolder>


<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />


</div>
</form>
</body>
</html>
////////////////////////End Aspx/////////////////////


---------------------------C#-----------------
The event will never be fired because your control (and its handler) doesn't exist : you have to create it before the event can be treated.

protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
{
if (DropDownListAdded)
CreateStatus(null);
}
else
DropDownListAdded = false;
}

protected void Button1_Click(object sender, EventArgs e)
{
if (!DropDownListAdded)
{
CreateStatus("Closed");
DropDownListAdded = true;
}
}

private void CreateStatus(string value)
{
Label label = new Label();
label.Text = "Status: ";
placeHolder1.Controls.Add(label);

DropDownList dropdown = new DropDownList();
dropdown.Width = new Unit(108);
dropdown.AutoPostBack = true;
dropdown.SelectedIndexChanged += new EventHandler(statusDropdown_SelectedIndexChanged);
dropdown.ID = "stausDropdown";
dropdown.DataSource = new string[] { "Open", "Closed", "pending" };
dropdown.DataBind();
if (value != null)
dropdown.SelectedValue = value;
placeHolder1.Controls.Add(dropdown);
}

void statusDropdown_SelectedIndexChanged(object sender, EventArgs e)
{
Response.Write(((DropDownList)sender).SelectedValue);
}

private bool DropDownListAdded
{
get { return (bool)ViewState["ddla"]; }
set { ViewState["ddla"] = value; }
}
-----------------------------------End C#--------------------------



Author: Balasubramaniyam    13 Jan 2009Member Level: GoldRating: 2 out of 52 out of 5     Points: 6

I have created Addrow using javascript.

Give some more details.. for drop down field value is dynamic or not..

if possible you just modify or else can u explain little more.

Put below code in Aspx page..reply if u have any problem.

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>

<script language="javascript" type="text/javascript">
var rowCount=1;
function addRow()
{
var objTbl=document.getElementById("tbldisplay");
var objBody=objTbl.getElementsByTagName("tbody")[0];
if(objTbl!=null)
{
var objRow=document.createElement("tr");
rowCount++;
//////////////////////////////////FirstColumn Dropdown///////////////////////////////
var objColumn1=document.createElement("td");
var objColumn1Elem=document.createElement("Select");

var objColumn1Elemsub=document.createElement("option");
var objColumn2Elemsub=document.createElement("option");
var objColumn3Elemsub=document.createElement("option");

objColumn1Elem.setAttribute("id","drp"+rowCount);
objColumn1Elemsub.setAttribute("innerText","text1");
objColumn2Elemsub.setAttribute("innerText","text2");
objColumn3Elemsub.setAttribute("innerText","text3");

objColumn1Elem.appendChild(objColumn1Elemsub);
objColumn1Elem.appendChild(objColumn2Elemsub);
objColumn1Elem.appendChild(objColumn3Elemsub);


objColumn1.appendChild(objColumn1Elem);
objRow.appendChild(objColumn1);
//////////////////////////////////End FirstColumn Dropdown///////////////////////////////


//////////////////////////////////SecondColumn TextBox///////////////////////////////////
var objColumn2=document.createElement("td");
var objColumn2Elem=document.createElement("Input");
objColumn2Elem.setAttribute("id","txt"+rowCount);
objColumn2Elem.setAttribute("type","text");
objColumn2.appendChild(objColumn2Elem);
objRow.appendChild(objColumn2);
//////////////////////////////////End SecondColumn TextBox///////////////////////////////

//////////////////////////////////ThirdColumn Label////////////////////////////////////
var objColumn3=document.createElement("td");
var objColumn3Elem=document.createElement("Span");
objColumn3Elem.setAttribute("id","sp"+rowCount);
objColumn3Elem.setAttribute("innerText","hi");
objColumn3.appendChild(objColumn3Elem);
objRow.appendChild(objColumn3);
objBody.appendChild(objRow);
//////////////////////////////////End ThirdColumn Label///////////////////////////////
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<table id="tbldisplay" cellpadding="0" cellspacing="0" border="0" width="100">
<tr>
<td>
<select id="drp1">
<option>
test
</option>
<option >

</option>
<option>
test2
</option>
</select>
</td>
<td>
<input type="text" id="txt1" />
</td>
<td>
<span id="sp1"></span>
<input type="button" id="btnAdd" value="AddRow" onclick="javascript:addRow()"/>
</td>
</tr>
</table>
</div>
</form>
</body>
</html>



Task.aspx.txt
Author: Balasubramaniyam    13 Jan 2009Member Level: GoldRating: 2 out of 52 out of 5     Points: 2

http://www.dotnetspider.com/attachments/forum/188183-1317-Task.aspx.txt

in the above url you can see in online.


you catch me this mail id.

balasubramaniyams@infinite.com



Post Reply

 This thread is locked for new responses. Please post your comments and questions as a separate thread.
If required, refer to the URL of this page in your new post.


Next : how to use flash button in a aspx page
Previous : Applying Themes to Master page
Return to Discussion Forum
Post New Message
Category: ASP.NET

Related Messages



dotNet Slackers

About Us    Contact Us    Privacy Policy    Terms Of Use