How To Change The Initial Value Of A DropDownList
Mar 22, 2011I know that this question has been asked here before and I tried to implement the solutions I have found here but without success
View 2 RepliesI know that this question has been asked here before and I tried to implement the solutions I have found here but without success
View 2 RepliesI posted a similar question previously, but none of the answers worked and I've been scouring all over the web trying to find a solution. My situation, I have a Edit Window webform with a dropdownlist (Note: to avoid confusion, I'm using Telerik extensions only to decorate the webform):
<%@ Page Language="VB" CodeFile="EditFormVB.aspx.vb" Inherits="EditFormVB" %>
<%@ Register Namespace="CustomBoundField" TagPrefix="custom" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Edit Pop-up</title>
</head>
<body class="">
<form id="form1" runat="server">
<div>
<script type="text/javascript">
function CloseAndRebind(args) {
GetRadWindow().BrowserWindow.refreshGrid(args);
GetRadWindow().close();
}
function GetRadWindow() {
var oWindow = null;
if (window.radWindow) oWindow = window.radWindow; //Will work in Moz in all cases, including clasic dialog
else if (window.frameElement.radWindow) oWindow = window.frameElement.radWindow; //IE (and Moz as well)
return oWindow;
}
function CancelEdit() {
GetRadWindow().close();
}
</script>
<asp:ScriptManager ID="ScriptManager2" runat="server" />
<telerik:RadFormDecorator ID="RadFormDecorator1" runat="server" Skin="Vista" DecoratedControls="All" />
<br />
<br />
<asp:DetailsView ID="DetailsView1" DataKeyNames="ID" runat="server" AutoGenerateRows="False"
GridLines="None" DataSourceID="detailsSqlDataSource" Height="50px" Width="125px"
BorderWidth="0" CellPadding="0" CellSpacing="7">
<Fields>
<asp:BoundField DataField="TS_DESCRIPTION" HeaderText="TS_DESCRIPTION" SortExpression="TS_DESCRIPTION" />
<asp:BoundField DataField="TS_TITLE" HeaderText="TS_TITLE" SortExpression="TS_TITLE" />
<asp:CommandField ShowEditButton="True" />
<asp:CommandField ShowInsertButton="True" />
</Fields>
</asp:DetailsView>--%>
<telerik:RadScriptManager ID="RadScriptManager1" runat="server" />
<telerik:RadFormDecorator ID="RadFormDecorator1" runat="server" Skin="Vista" />
<br />
<br />
<asp:DetailsView ID="DetailsView1" runat="server" Height="400px" Width="745px"
AutoGenerateRows="False" DataKeyNames="TS_ID" DataSourceID="SqlDataSource2"
EnableModelValidation="True">
<Fields>
<asp:TemplateField HeaderText="Category">
<EditItemTemplate>
<%--<asp:DropDownList ID="TTCategory" runat="server" DataSourceID="ReqCategoryData" SelectedValue='<%# Bind("TS_NAME") %>' />--%>
<asp:DropDownList DataSourceID="ReqCategoryData" DataTextField="ReqCategory" DataValueField="ReqCategory"
ID="reqCategoryDropDown" runat="server" AppendDataBoundItems="true" AutoPostBack="true" >
</asp:DropDownList>
</EditItemTemplate>
</asp:TemplateField>
<asp:CommandField ButtonType="Button" EditText="Update" ShowEditButton="True"
ShowCancelButton="True">
<ItemStyle HorizontalAlign="Center" />
</asp:CommandField>
</Fields>
</asp:DetailsView>
</div>
</form>
</body>
</html>
And in the code behind, I'm setting the datasource for the dropdownlist and using a function to query the DB for the name of the value I want to set as the selected value when the page loads initially: Partial Class EditFormVB Inherits System.Web.UI.Page
Public Shared category_Name As String = ""
Dim ddlDataSource As New SqlDataSource
Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
DetailsView1.DefaultMode = DetailsViewMode.Edit
End Sub
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Me.Page.Title = "Editing record"
''Setup DropDownList SqlDataSource
ddlDataSource.ID = "ReqCategoryData"
Page.Controls.Add(ddlDataSource)
ddlDataSource.ConnectionString = ConfigurationManager.ConnectionStrings("TTPRODReportsQuery").ConnectionString
ddlDataSource.SelectCommand = "SELECT TS_NAME AS ReqCategory FROM dbo.TS_SELECTIONS WHERE (TS_FLDID = 5299 AND TS_STATUS = 0) ORDER BY TS_NAME"
Dim args As New DataSourceSelectArguments
ddlDataSource.Select(args)
''Set max length of Title field to 70 characters
Dim dvrTest As DetailsViewRowCollection = DetailsView1.Rows
Dim TitleTB As TextBox = dvrTest.Item(0).Cells(1).Controls(0)
TitleTB.Attributes.Add("onkeydown", "isMaxLen(this)")
TitleTB.Attributes.Add("maxlength", "70")
Dim myDDL As DropDownList = DetailsView1.FindControl("reqCategoryDropDown")
''Perform dropdown list population operations
If Page.IsPostBack = False Then
Dim ticket_ID As String = getDataKey(DetailsView1)
''Fetch Category ID
Dim sqlText As String = "SELECT TS_REQCATEGORY FROM USR_ITFAC WHERE (TS_ID = " + ticket_ID + ") "
Dim reqDataReader As SqlDataReader = GetDataReader(sqlText)
reqDataReader.Read()
Dim category_ID As String = reqDataReader(0)
''Fetch Category name using the categoryID and set as selected value in dropdown list
sqlText = "SELECT TS_NAME FROM TS_SELECTIONS WHERE (TS_ID = " + category_ID + ") "
reqDataReader = GetDataReader(sqlText)
reqDataReader.Read()
category_Name = reqDataReader(0)
myDDL.DataBind()
myDDL.Selectedvalue = category_Name //<--this value gets set only when debugging,
End If
End Sub
Private Function GetDataReader(ByVal sqlText As String) As SqlDataReader
Dim dr As SqlDataReader
Dim sqlConn As SqlConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("TTPRODReportsQuery").ConnectionString)
sqlConn.Open()
Dim sqlCmd As SqlCommand = New SqlCommand(sqlText, sqlConn)
dr = sqlCmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection)
Return dr
End Function
End Class
The dropdownlist does get populated appropriately, however when I attempt to set the value, it doesn't reflect when the page loads; the dropdownlist just gets populated and no value is set to selected in the markup, so the first value is shown by default. The odd thing is that when I'm debugging, the value appears to get set when I step through the function, it's as if the selectedvalue is getting reset as soon as the function exits and proceeds to load the page.
SOLUTION: Had to add a separate function that is called onLoad from the DropDownList after the after Page_Load is done executing. Still unresolved is why the the DropDownList rebinds after the Page_Load.
IN HTML:
<asp:DropDownList DataSourceID="ReqCategoryData" DataTextField="ReqCategory" DataValueField="ReqCategory"
ID="reqCategoryDropDown" runat="server" AutoPostBack="true" OnLoad="DDL_DataBound">
IN CODE-BEHIND
Public Shared category_Name As String = ""
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Me.Page.Title = "Editing record"
''Setup DropDownList SqlDataSource
ddlDataSource.ID = "ReqCategoryData"
Page.Controls.Add(ddlDataSource)
ddlDataSource.ConnectionString = ConfigurationManager.ConnectionStrings("TTPRODReportsQuery").ConnectionString
ddlDataSource.SelectCommand = "SELECT TS_NAME AS ReqCategory FROM dbo.TS_SELECTIONS WHERE (TS_FLDID = 5299 AND TS_STATUS = 0) ORDER BY TS_NAME"
Dim args As New DataSourceSelectArguments
ddlDataSource.Select(args)
''Set max length of Title field to 70 characters
Dim dvrTest As DetailsViewRowCollection = DetailsView1.Rows
Dim TitleTB As TextBox = dvrTest.Item(0).Cells(1).Controls(0)
TitleTB.Attributes.Add("onkeydown", "isMaxLen(this)")
TitleTB.Attributes.Add("maxlength", "70")
Dim myDDL As DropDownList = DetailsView1.FindControl("reqCategoryDropDown")
''Perform dropdown list population operations
If Page.IsPostBack = False Then
Dim ticket_ID As String = getDataKey(DetailsView1)
''Fetch Category ID
Dim sqlText As String = "SELECT TS_REQCATEGORY FROM USR_ITFAC WHERE (TS_ID = " + ticket_ID + ") "
Dim reqDataReader As SqlDataReader = GetDataReader(sqlText)
reqDataReader.Read()
Dim category_ID As String = reqDataReader(0)
''Fetch Category name using the categoryID and set as selected value in dropdown list
sqlText = "SELECT TS_NAME FROM TS_SELECTIONS WHERE (TS_ID = " + category_ID + ") "
reqDataReader = GetDataReader(sqlText)
reqDataReader.Read()
category_Name = reqDataReader(0)
myDDL.DataBind()
End If
End Sub
Protected Sub DDL_DataBound(ByVal sender As Object, ByVal e As System.EventArgs)
If Page.IsPostBack = False Then
Dim myDDL As DropDownList = DetailsView1.FindControl("reqCategoryDropDown")
myDDL.Items.FindByValue(category_Name).Selected = True
End If
End Sub
I was wondering if there is an option to change the debugger url when I initialize the debugger. I want it to start off at http://localhost:xxxx/controller/view rather than just http://localhost:xxxx/.
View 2 Repliesdropdownlist selectedvalue not firing.
It shows the inital value after i selected the value from dropdown box and submitted
HTML Code:
<asp:DropDownList ID="DropDownList1" runat="server" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
</asp:DropDownList>
.CS File:
Protected void page_load()
{
if (!IsPostBack)
{
Label_Testing.Text = DropDownList1.SelectedValue;
Label_Testing1.Text = DropDownList1.SelectedIndex.ToString();......
I have converted the change password control to a template. It is inside an update panel. After changing the password the confirm button takes the user to the success step by updating the update panel. Then by clicking the OK button, I would like to reset the password changer to its initial state so that the user can change the password again. Right now I am not sure how this is done and the control simply remains at the second step, telling the user "password has been changed" . User can press OK. What must I write in the OK button click event to reset the password control to its original state?
View 3 Repliesi have dropdownList Binded to a data source and its working fine But want i want to do is when the page loads its initial value should Blank until clicking the dropdown button
View 6 RepliesHi I have a situation where I want to set the initial visible property of an Image to False and then in my code change it to True and then run a sub routine. My problem is that no matter how I order the code the sub runs before the image becomes visible. When I debug the image only becomes visible when it hits End Sub. Is there any way around this? Here's my code:
[Code]....
I have a simple search page with a drop down list that I would like the value to persist on refresh..basically the user will select their location from the dropdownlist and this will be used to populate a gridview. After this the page is set to refresh at a set interval and use the same location data initially selected by the user. However the initial selection is lost each time the page refreshes.
p.s system is to old for ajax!
<meta http-equiv="Refresh" content="300" />
<script runat="server">
Dim connectionString As String = ConfigurationManager.ConnectionStrings("****").ConnectionString
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
If Not IsPostBack Then
Dim conn As SqlConnection
conn = New SqlConnection(connectionString)
Dim Locationcommandtext As String
Locationcommandtext = "SELECT * FROM [Location] ORDER BY [Location]"
Dim loccomm As SqlCommand
loccomm = New SqlCommand(Locationcommandtext, conn)
Dim reader As SqlDataReader
Try
conn.Open()
reader = loccomm.ExecuteReader()
Locations.DataSource = reader
Locations.DataValueField = "LocationID"
Locations.DataTextField = "Location"
Locations.DataBind()
Catch ex As SqlException
Response.Write("SQL Error:
" & ex.ToString())
Finally
conn.Close()
End Try
Else
'"Viewstate should kick in here"
End If
End Sub
</script>
I have a dropdownlist and id like upon selecting one of the four choices to set the imageurl of Image2 in code behind?
View 3 Repliescan change the order in dropdownlist
DateTime NextMont = month.AddMonths(i);
I have dropdownlists in Gridview. I need to dinamicly change content of dropdown on client with javascript. Ok, I know to do that. But the problem is when I send data to server changes in dropdownlist does not see. On server I have old items. How can I change items in dropdown on client with javascript and than see that items on sever when postback data?
View 5 RepliesI have localized application where user can choose her preferred language in dropdown control. After OnSelectedIndexChanged event there is postback and CurrentThread.CurrentCulture should be set to what user chooses.
Login.aspx.cs
public partial class Login : BasePage
{
protected void LanguageDrop_changed(object sender, EventArgs e)
{
var lang = LanguageDropDown.SelectedValue;
Thread.CurrentThread.CurrentUICulture = new CultureInfo(lang);
Thread.CurrentThread.CurrentCulture = new CultureInfo(lang);
}
}
However, it does not work correct because LanguageDrop_click event fires after InitializeCulture so some default culture is initialized, controls are localized to default language and then CurrentThread.CurrentCulture is set. So user have to refresh page once more to see them in chosen language.
UPDATE: I found partial answer: [URL] He retrieves language dropdown value in InitializeCulture() event from Form collection
Why I can't change my listitem value on my dropdownlist?
View 6 RepliesI need to change ASP.NET DropDownList arrow image as shown below, So is there any solution to change it? How can I change it, CSS or DDL properties?
View 2 RepliesI searched all day a solution to my problem.I worked with MVC 2 with visual studio 2010.I want to bind dropdownlists according to the value selected in an other dropdownlidt (but the datas are not linked in the database).In fact, I have a function in a controller and I tried to call it thanks javascript. But during the debug, it never goes in this function.If I'm not clear, ask me some question.
[Code]....
[Code]....
I have two DropDownLists; DropDownListStart displays the hours 09:00 - 19:00 and DropDownListStop displays 10:00 - 20:00. When the user chooses one of the hours in DropDownListStart I want the program to adjust what's shown in DropDownListStop so that the first hour shown is one hour after the hour chosen in DropDownListStart. How can I do that in code behind (c#)? An example: if the user choses 13:00 in DropDownListStart I want DropDownListStop to display only 14:00, 15:00, 16:00, 17:00, 18:00, 19:00, 20:00.
View 12 RepliesI have a dropdownbox which does an autopostback when selected index has changed. But the selected value never changed.
[Code]....
[Code]....
I am building a custom control that mimics a dropdownlist with my own custom items in it. I'd like to figure out how after selecting something, the text changes to what was selected.
I can do it with javascript but looking at the html source of a dropdownlist, there is no javascript there to modify the textbox/label.
I've created following View, which contains simple text box and Submit button. On submit button I've simply filtered records having product name as written in textbox. As I'm new to MVC 2, I'm not getting whats wrong with my code (specially with my UserControl)..?
[code]....
How do I change my dropdownlist so the first letter of the month are in upper? - And would like my text [Mounth] to be at the top of the dropdownlist when it is active. Right now is on the bottom. Hope can help these small things.
[Code]....
[Code]....
here's the code I use after the selectedindexchange
[Code]....
I have Created A Custom Control which is a DropDownList with specified Items. I designed AutoPostback and SelectedCategoryId as Properties and SelectedIndexChanged as Event for My Custom Control. Here Is My ASCX file Behind Code:
private int _selectedCategoryId;
private bool _autoPostback = false;
public event EventHandler SelectedIndexChanged;
public void BindData()
[Code]....
But Always The Selected Index of CategoryDDL1 is 0(Like default). this means Only Zero Value will pass to the event to update textboxes Data. what is the wrong with my code? why the selected Index not Changing?
How do I change the BackColor of the textbox area in an asp.net DropDownList from white to another color? The Backcolor property changes only the drop down section.
View 2 RepliesI have 1Dropdownlist 1 button and 1 datalist in my page i bind my datalist in Page_load event that show all my product from my DB ... Users can select their city from DDL click on button and in datalist just show product that are on selected city ...
Problem: when users select PARIS from ddl in datalist show product from selected city and when users want change their city from ddl before their click on button to show that city's product page load again and it show all product again...
I want when users change ddl.selecteditem in datalist show last result of user's selected not the result that i define in page load ... This is my code on page load ...
protected void Page_Load(object sender, EventArgs e) {
if (!IsPostBack) {
DDLcity1.Items.Add(new ListItem("select your city", ""));
BindDropDownList(DDLcity1, "Guidcity", "cityname", "ID");
}
way to change the interface of the DropDownList's list to shown as GridView or for more I want to show 2 fields in the list with columns to be obvious in reading than concatenating together.Example: If I have 'Abd sadfs sd' + '123231434' 'sdfkd' + '234234'this what appear in the list but I want 2 columns like the GridView to
View 1 Replies