Hi there..
I have 2 radgridcombobox, the first one calls "faculty" and the seconds calls "department"...
How i link those combo box?? so, When I choose the index 0 of faculty, then the "department" load stuff like "Industry, physics..etc.."...??
I have 2 radgridcombobox, the first one calls "faculty" and the seconds calls "department"...
How i link those combo box?? so, When I choose the index 0 of faculty, then the "department" load stuff like "Industry, physics..etc.."...??
3 Answers, 1 is accepted
0

Emanuel Varga
Top achievements
Rank 1
answered on 01 Nov 2010, 10:20 PM
Hello mampus,
If you mean you want cascading dropdowns, please take a look at this thread under Nikolay's reply there is a project attached that does just this.
Hope this helps, if you have any other questions or comments, please let me know,
Best Regards,
Emanuel Varga
If you mean you want cascading dropdowns, please take a look at this thread under Nikolay's reply there is a project attached that does just this.
Hope this helps, if you have any other questions or comments, please let me know,
Best Regards,
Emanuel Varga
0

mampus
Top achievements
Rank 1
answered on 08 Nov 2010, 04:26 AM
hi there...
umm...i still don't understand how to do it...???
I will clear the question...i have an table looks like this:
id Name Faculty(gridcombo box1) Department(gridCombo box2)
1 steve Engineering (if gridcombobox1 = engineering then show ("Civil, Industry, Physics..."))
2 mary Design ("Interior, Architech, etc....")
how i can do that??
umm...i still don't understand how to do it...???
I will clear the question...i have an table looks like this:
id Name Faculty(gridcombo box1) Department(gridCombo box2)
1 steve Engineering (if gridcombobox1 = engineering then show ("Civil, Industry, Physics..."))
2 mary Design ("Interior, Architech, etc....")
how i can do that??
0
Accepted

Emanuel Varga
Top achievements
Rank 1
answered on 08 Nov 2010, 10:47 AM
Hello Mampus,
Please try the following example:
Hope this helps, if you have any other questions or comments, please let me know,
Best Regards,
Emanuel Varga
Please try the following example:
using
System.Collections.Generic;
using
System.Linq;
using
System.Windows.Forms;
using
Telerik.WinControls.UI;
public
partial
class
Form1 : Form
{
private
RadGridView radGridView1;
private
List<Teacher> teachers;
private
List<Faculty> faculties =
new
List<Faculty>
{
new
Faculty { Id = 1, Name =
"Engineering"
},
new
Faculty { Id = 2, Name =
"Design"
}
};
private
List<Department> departments =
new
List<Department>
{
new
Department { Id = 1, FacultyId = 1, Name =
"Civil"
},
new
Department { Id = 2, FacultyId = 1, Name =
"Industry"
},
new
Department { Id = 3, FacultyId = 1, Name =
"Physics"
},
new
Department { Id = 4, FacultyId = 2, Name =
"Interior"
},
new
Department { Id = 5, FacultyId = 2, Name =
"Architecht"
},
};
public
Form1()
{
InitializeComponent();
this
.Controls.Add(radGridView1 =
new
RadGridView());
radGridView1.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.Fill;
radGridView1.Dock = DockStyle.Fill;
teachers =
new
List<Teacher>() {
new
Teacher { Id = 1, Name =
"john"
, DepartmentId = 4, FacultyId = 2 },
new
Teacher { Id = 2, Name =
"mary"
, DepartmentId = 2, FacultyId = 1 }
};
radGridView1.DataBindingComplete +=
new
GridViewBindingCompleteEventHandler(radGridView1_DataBindingComplete);
radGridView1.CellValueChanged +=
new
GridViewCellEventHandler(radGridView1_CellValueChanged);
radGridView1.CellEditorInitialized +=
new
GridViewCellEventHandler(radGridView1_CellEditorInitialized);
}
void
radGridView1_CellValueChanged(
object
sender, GridViewCellEventArgs e)
{
if
(e.Column.Name ==
"Faculty"
)
{
var selectedDepartmentId = e.Row.Cells[
"Department"
].Value;
var departmentsForFaculty = departments.Where(dep => dep.FacultyId.Equals(e.Value)).ToArray();
if
(!departmentsForFaculty.Any(dep => dep.Id.Equals(selectedDepartmentId)))
{
e.Row.Cells[
"DepartmentId"
].Value = departmentsForFaculty[0].Id;
}
}
}
void
radGridView1_CellEditorInitialized(
object
sender, GridViewCellEventArgs e)
{
if
(e.Column.Name ==
"Department"
)
{
var dropDownEditor = radGridView1.ActiveEditor
as
RadDropDownListEditor;
var element = dropDownEditor.EditorElement
as
RadDropDownListEditorElement;
element.DataSource = departments.Where(dep => dep.FacultyId.Equals(e.Row.Cells[
"Faculty"
].Value));
element.ShowPopup();
}
}
protected
override
void
OnLoad(System.EventArgs e)
{
base
.OnLoad(e);
radGridView1.DataSource = teachers;
}
void
radGridView1_DataBindingComplete(
object
sender, GridViewBindingCompleteEventArgs e)
{
var grid = sender
as
RadGridView;
if
(grid ==
null
)
{
return
;
}
var comboBoxColumnFaculty =
new
GridViewComboBoxColumn(
"Faculty"
,
"FacultyId"
);
comboBoxColumnFaculty.DisplayMember =
"Name"
;
comboBoxColumnFaculty.ValueMember =
"Id"
;
// set the data source for the faculties here
comboBoxColumnFaculty.DataSource = faculties;
grid.Columns.Add(comboBoxColumnFaculty);
grid.Columns[
"FacultyId"
].IsVisible =
false
;
var comboBoxColumnDepartment =
new
GridViewComboBoxColumn(
"Department"
,
"DepartmentId"
);
comboBoxColumnDepartment.DisplayMember =
"Name"
;
comboBoxColumnDepartment.ValueMember =
"Id"
;
comboBoxColumnDepartment.DataSource = departments;
grid.Columns.Add(comboBoxColumnDepartment);
grid.Columns[
"DepartmentId"
].IsVisible =
false
;
}
public
class
Teacher
{
public
int
Id
{
get
;
set
;
}
public
string
Name
{
get
;
set
;
}
public
int
FacultyId
{
get
;
set
;
}
public
int
DepartmentId
{
get
;
set
;
}
}
public
class
Faculty
{
public
int
Id
{
get
;
set
;
}
public
string
Name
{
get
;
set
;
}
}
public
class
Department
{
public
int
Id
{
get
;
set
;
}
public
int
FacultyId
{
get
;
set
;
}
public
string
Name
{
get
;
set
;
}
}
}
Hope this helps, if you have any other questions or comments, please let me know,
Best Regards,
Emanuel Varga