hello,
I am using 2 RadDropDownLists.
Depending on Item selected in dropdownlist1 i have to populate other dropdownlist.
my code is:
private void Schedule_Load(object sender, EventArgs e)
{
ddlSelectRoomType.DataSource = roomtype.getRoomType();
ddlSelectRoomType.DisplayMember = "RoomTypeName";
ddlSelectRoomType.ValueMember = "RoomTypeID";
ddlSelectRoomType.Text = "Select Room Type";
}
private void ddlSelectRoomType_SelectedIndexChanged(object sender, Telerik.WinControls.UI.Data.PositionChangedEventArgs e)
{
//code to populate other dropdown depending on the value selected in 1st dropdown(ddlSelectRoomType)
}
when i am trying to display the value of the selected item it is displaying the text of the selected Item and not the value which in this case should be RoomTypeID
Also, i am unable to select other Items in the dropdown list1(ddlSelectRoomType). only first Item is getting selected and text of ddlSelectRoomType- Select Room Type
is not getting displayed rather the 1st item in the dropdownlist is displayed.
how can i fix this?
I am using 2 RadDropDownLists.
Depending on Item selected in dropdownlist1 i have to populate other dropdownlist.
my code is:
private void Schedule_Load(object sender, EventArgs e)
{
ddlSelectRoomType.DataSource = roomtype.getRoomType();
ddlSelectRoomType.DisplayMember = "RoomTypeName";
ddlSelectRoomType.ValueMember = "RoomTypeID";
ddlSelectRoomType.Text = "Select Room Type";
}
private void ddlSelectRoomType_SelectedIndexChanged(object sender, Telerik.WinControls.UI.Data.PositionChangedEventArgs e)
{
//code to populate other dropdown depending on the value selected in 1st dropdown(ddlSelectRoomType)
}
when i am trying to display the value of the selected item it is displaying the text of the selected Item and not the value which in this case should be RoomTypeID
Also, i am unable to select other Items in the dropdown list1(ddlSelectRoomType). only first Item is getting selected and text of ddlSelectRoomType- Select Room Type
is not getting displayed rather the 1st item in the dropdownlist is displayed.
how can i fix this?
5 Answers, 1 is accepted
0
Richard Slade
Top achievements
Rank 2
answered on 05 Dec 2010, 03:09 PM
Hello,
I've put together a small example of binding one drop down depending on another for you below.
hope this helps
Richard
Form...
Designer File
I've put together a small example of binding one drop down depending on another for you below.
hope this helps
Richard
Form...
using
System;
using
System.Collections.Generic;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Linq;
using
System.Text;
using
System.Windows.Forms;
namespace
RadDropDownList_C
{
public
partial
class
Form1 : Form
{
BindingList<Room> rooms =
new
BindingList<Room>();
public
Form1()
{
InitializeComponent();
}
private
void
Form1_Load(
object
sender, EventArgs e)
{
this
.radDropDownListRoomTypes.DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList;
this
.radDropDownListAvailableRooms.DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList;
// room types
BindingList<RoomType> roomTypes =
new
BindingList<RoomType>();
roomTypes.Add(
new
RoomType(1,
"Double"
));
roomTypes.Add(
new
RoomType(2,
"Single"
));
roomTypes.Add(
new
RoomType(3,
"Twin"
));
roomTypes.Add(
new
RoomType(4,
"Penthouse"
));
// available rooms
rooms.Add(
new
Room(1,
"The double suite"
));
rooms.Add(
new
Room(1,
"The other double suite"
));
rooms.Add(
new
Room(2,
"The single suite"
));
rooms.Add(
new
Room(2,
"The other single suite"
));
rooms.Add(
new
Room(3,
"The twin suite"
));
rooms.Add(
new
Room(3,
"The other twin suite"
));
rooms.Add(
new
Room(4,
"The penthouse suite"
));
rooms.Add(
new
Room(4,
"The other penthouse suite"
));
// bind room types
this
.radDropDownListRoomTypes.DisplayMember =
"RoomTypeName"
;
this
.radDropDownListRoomTypes.ValueMember =
"RoomTypeId"
;
this
.radDropDownListRoomTypes.DataSource = roomTypes;
this
.radDropDownListRoomTypes.SelectedValue = 1;
}
private
void
radDropDownListRoomTypes_SelectedValueChanged(
object
sender, EventArgs e)
{
this
.radDropDownListAvailableRooms.DataSource = (from Room r
in
rooms where r.RoomTypeId == Convert.ToInt32(radDropDownListRoomTypes.SelectedValue) select
new
{ r.RoomName });
this
.radDropDownListAvailableRooms.DisplayMember =
"RoomName"
;
this
.radDropDownListAvailableRooms.ValueMember =
"RoomName"
;
}
}
public
class
RoomType
{
public
RoomType(
int
roomTypeId,
string
roomTypeName)
{
_roomTypeId = roomTypeId;
_roomTypeName = roomTypeName;
}
private
int
_roomTypeId;
public
int
RoomTypeId
{
get
{
return
_roomTypeId; }
set
{ _roomTypeId = value; }
}
private
string
_roomTypeName;
public
string
RoomTypeName
{
get
{
return
_roomTypeName; }
set
{ _roomTypeName = value; }
}
}
public
class
Room
{
public
Room(
int
roomTypeId,
string
roomName)
{
_roomTypeId = roomTypeId;
_roomName = roomName;
}
private
int
_roomTypeId;
public
int
RoomTypeId
{
get
{
return
_roomTypeId; }
set
{ _roomTypeId = value; }
}
private
string
_roomName;
public
string
RoomName
{
get
{
return
_roomName; }
set
{ _roomName = value; }
}
}
}
Designer File
namespace
RadDropDownList_C
{
partial
class
Form1
{
/// <summary>
/// Required designer variable.
/// </summary>
private
System.ComponentModel.IContainer components;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected
override
void
Dispose(
bool
disposing)
{
if
(disposing && (components !=
null
))
{
components.Dispose();
}
base
.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private
void
InitializeComponent()
{
this
.radDropDownListRoomTypes =
new
Telerik.WinControls.UI.RadDropDownList();
this
.radDropDownListAvailableRooms =
new
Telerik.WinControls.UI.RadDropDownList();
((System.ComponentModel.ISupportInitialize)(
this
.radDropDownListRoomTypes)).BeginInit();
((System.ComponentModel.ISupportInitialize)(
this
.radDropDownListAvailableRooms)).BeginInit();
this
.SuspendLayout();
//
// radDropDownListRoomTypes
//
this
.radDropDownListRoomTypes.Location =
new
System.Drawing.Point(26, 51);
this
.radDropDownListRoomTypes.Name =
"radDropDownListRoomTypes"
;
this
.radDropDownListRoomTypes.Size =
new
System.Drawing.Size(164, 22);
this
.radDropDownListRoomTypes.TabIndex = 0;
this
.radDropDownListRoomTypes.SelectedValueChanged +=
new
System.EventHandler(
this
.radDropDownListRoomTypes_SelectedValueChanged);
//
// radDropDownListAvailableRooms
//
this
.radDropDownListAvailableRooms.Location =
new
System.Drawing.Point(213, 51);
this
.radDropDownListAvailableRooms.Name =
"radDropDownListAvailableRooms"
;
this
.radDropDownListAvailableRooms.Size =
new
System.Drawing.Size(201, 22);
this
.radDropDownListAvailableRooms.TabIndex = 1;
//
// Form1
//
this
.AutoScaleDimensions =
new
System.Drawing.SizeF(6F, 13F);
this
.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this
.ClientSize =
new
System.Drawing.Size(556, 114);
this
.Controls.Add(
this
.radDropDownListAvailableRooms);
this
.Controls.Add(
this
.radDropDownListRoomTypes);
this
.Name =
"Form1"
;
this
.Text =
"Form1"
;
this
.Load +=
new
System.EventHandler(
this
.Form1_Load);
((System.ComponentModel.ISupportInitialize)(
this
.radDropDownListRoomTypes)).EndInit();
((System.ComponentModel.ISupportInitialize)(
this
.radDropDownListAvailableRooms)).EndInit();
this
.ResumeLayout(
false
);
this
.PerformLayout();
}
#endregion
private
Telerik.WinControls.UI.RadDropDownList radDropDownListRoomTypes;
private
Telerik.WinControls.UI.RadDropDownList radDropDownListAvailableRooms;
}
}
0
Shruti
Top achievements
Rank 1
answered on 05 Dec 2010, 05:56 PM
hello,
Thank you.
I was able to populate one dropdown list depending on an item selected in other dropdown list.
i want to display the DropDownList for Room type as,
Select Room Type
Class Room
Laboratory
Class Room, Laboratory is in my database. I have set the Text of the DropDownList as "Select Room Type" in properties of Drop Down List.
my code is:
this.ddlRoomType.DisplayMember = "Select Room Type";
this.ddlRoomType.SelectedValue = 1;
this.ddlRoomType.DisplayMember = "RoomTypeName";
this.ddlRoomType.ValueMember = "RoomTypeID";
this.ddlRoomType.DataSource = roomtype.getRoomType();
when i am executing my code, Class room is selected in dropdown list at the form_load. I want Select Room Type to be selected in the drop
down list.
what other property i need to set?
Thank you.
I was able to populate one dropdown list depending on an item selected in other dropdown list.
i want to display the DropDownList for Room type as,
Select Room Type
Class Room
Laboratory
Class Room, Laboratory is in my database. I have set the Text of the DropDownList as "Select Room Type" in properties of Drop Down List.
my code is:
this.ddlRoomType.DisplayMember = "Select Room Type";
this.ddlRoomType.SelectedValue = 1;
this.ddlRoomType.DisplayMember = "RoomTypeName";
this.ddlRoomType.ValueMember = "RoomTypeID";
this.ddlRoomType.DataSource = roomtype.getRoomType();
when i am executing my code, Class room is selected in dropdown list at the form_load. I want Select Room Type to be selected in the drop
down list.
what other property i need to set?
0
Accepted
Richard Slade
Top achievements
Rank 2
answered on 05 Dec 2010, 06:30 PM
Hello,
In a windows forms application, it is not normal practice to have a "Please Select an Option" in the drop down lists. But, if you must have one, then you can use the example below. Just replace the body of the form load event that I gave you before.
Hope that helps
richard
In a windows forms application, it is not normal practice to have a "Please Select an Option" in the drop down lists. But, if you must have one, then you can use the example below. Just replace the body of the form load event that I gave you before.
this
.radDropDownListRoomTypes.DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList;
this
.radDropDownListAvailableRooms.DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList;
// room types
BindingList<RoomType> roomTypes =
new
BindingList<RoomType>();
roomTypes.Add(
new
RoomType(1,
"Double"
));
roomTypes.Add(
new
RoomType(2,
"Single"
));
roomTypes.Add(
new
RoomType(3,
"Twin"
));
roomTypes.Add(
new
RoomType(4,
"Penthouse"
));
// available rooms
rooms.Add(
new
Room(1,
"The double suite"
));
rooms.Add(
new
Room(1,
"The other double suite"
));
rooms.Add(
new
Room(2,
"The single suite"
));
rooms.Add(
new
Room(2,
"The other single suite"
));
rooms.Add(
new
Room(3,
"The twin suite"
));
rooms.Add(
new
Room(3,
"The other twin suite"
));
rooms.Add(
new
Room(4,
"The penthouse suite"
));
rooms.Add(
new
Room(4,
"The other penthouse suite"
));
// bind room types
this
.radDropDownListRoomTypes.DisplayMember =
"RoomTypeName"
;
this
.radDropDownListRoomTypes.ValueMember =
"RoomTypeId"
;
this
.radDropDownListRoomTypes.DataSource = roomTypes;
this
.radDropDownListRoomTypes.SelectedIndex = -1;
this
.radDropDownListRoomTypes.Text =
"Please Select A Room Type"
;
Hope that helps
richard
0
Shruti
Top achievements
Rank 1
answered on 05 Dec 2010, 08:26 PM
it worked..
Thanks a lot..
Thanks a lot..
0
Richard Slade
Top achievements
Rank 2
answered on 05 Dec 2010, 10:18 PM
Glad that worked for you.
Richard
Richard