информация
у меня есть 3 таблицы
tblCountry
tblStateName
tblState
tblState
Дочерний из tblStateName
(StateName_ID
) (Для лучшей обработки)
tblState
Дочерний из tblCountry
(Country_ID
) (Каскадировать все знают это)
я создаю 1 форма с двумя комбинированными списками
я использую этот код для загрузки 2 комбинированных списков DataValue
private void Form01_Load(object sender, EventArgs e)
{
//Load CountryComboBox Source from Table01
using (UnitOfWork db = new UnitOfWork())
{
// At first assign properties DisplayMember and ValueMember.
cmbCountry.DisplayMember = "Country";
cmbCountry.ValueMember = "Country_ID";
// And then assign DataSource property of the CountryComboBox .
cmbCountry.DataSource = db.CountryRepository.Get();
}
}
//Load StateComboBox From Table02
private void cmbCountry_SelectedIndexChanged(object sender, EventArgs e)
{
string selectedValue = cmbCountry.SelectedValue.ToString();
using (UnitOfWork db = new UnitOfWork())
if (!string.IsNullOrEmpty(selectedValue))
{
// At first assign properties DisplayMember and ValueMember.
cmbState.DisplayMember = "StateName";
cmbState.ValueMember = "State_ID";
// And then assign DataSource property of the cmbState.
var result = (from state in db.StateRepository.GetNameIDByFilter(selectedValue)
join stateName in db.StateNameRepository.Get() on state.StateName_ID equals stateName.Statename_ID
select new
{
State_ID = state.State_ID,
StateName = stateName.StateName
}).ToList();
cmbState.DataSource = result;
}
после загрузки формы я вижу этот результат
если я выберу Country01
, я увижу 4 Результат в cmbState
(все хорошо и работает нормально)
MyProblem
но если я выберу «Country02» (это Value
не дочерний элемент в tblState), но я вижу сначала Value
Из tblState как это
Что мне нужно?
как я могу выбрать Country02 и Видите Null в cmbState? или лучше (вернуть Null, если Country_ID не существует в таблице состояний) и cmbState равно Null
(SRY For My bad Engli sh)