我的应用程序在Silverlight(c#.Net)
我有一个包含三个组合框的表单,Country,State,City。
我的要求是我想在Countrychanged组合框的Selectionchanged事件中填充我的状态组合框。
当用户选择某个国家/地区时,应该在状态组合中填充该国家/地区的状态。
数据库表:
从Service.svc.cs文件中的Database im编码中检索值
这是我的代码。此代码将获得国家记录。
public class GetCountry
{
public string CountryName { get; set; }
}
[OperationContract]
public List<GetCountry> GetCountryRecord()
{
using (Entities context = new Entities())
{
return (from c in context.CountryMasters
select new GetCountry
{
CountryName = c.CountryName,
}).ToList<GetCountry>();
}
}
//Code to Get State from State_Master table
public class GetState
{
public string StateName { get; set; }
}
[OperationContract]
public List<GetState> GetStateRecord(int countryId)
{
using (Entities context = new Entities())
{
return (from c in context.StateMasters
select new GetState
{
StateName = c.StateName,
}).ToList<GetState>();
}
}
//End of State Code
这是我在Form.xaml.cs中的代码。它将在国家组合框中填充国家
client = new ServiceReference1.AlumniServiceClient();
client.GetCountryRecordCompleted += (s, ea) =>
{
cboCountry.ItemsSource = ea.Result.Select(b => b.CountryName).ToList();
};
client.GetCountryRecordAsync();
请建议我在Service.svc.cs文件中更改查询以获取我所需的结果或任何其他方式来获取它。
return (**from c in context.StateMasters
select new GetState**
这是我在Country Combobox的selectionChanged事件中的Form.xaml.cs中的代码
private void cboCountry_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
var client = new ServiceReference1.AlumniServiceClient();
client.GetStateRecordCompleted += (s, ea) =>
{
cboState.ItemsSource = ea.Result.Select(b => b.StateName).ToList(); };
client.GetStateRecordAsync();
}
但是这将使我在美国大家庭中出现的所有国家
答案 0 :(得分:0)
这可能无法解答您的直接问题,但我相信它可以更好地解决您要实现的问题
让您在客户端的国家/地区数据构造具有ObservableCollection<State>
的属性,然后将州ComboBox
的{{1}}绑定到国家ItemsSource
SelectedItem.States
(使用ElementName绑定),那么您不必担心ComboBox
事件等。同样适用于State&amp;城市关系。
作为一名非美国公民,我觉得有必要提醒大家,其他大多数国家都没有“国家”:)
答案 1 :(得分:0)
这可能无法回答您的直接问题,但我相信它可以更好地解决您要实现的目标
让客户端的Country数据构造具有ObservableCollection<State>
的属性,然后将State ComboBox的ItemsSource
绑定到Countries ComboBox的SelectedItem.States
(使用ElementName
绑定),那么你不必担心SelectionChanged
事件等。同样适用于State&amp;城市关系。
作为一名非美国公民,我觉得有必要提醒大家,其他大多数国家都没有“国家”:)