wpfc#静态组合框选择需要更新进行DB调用的第二个组合框
本文关键字:组合 DB 调用 第二个 静态 选择 wpfc# 更新 | 更新日期: 2023-09-27 18:25:00
我是WPF的新手,使用DevExpress MVVM,我有一个静态组合框,当用户选择一天时,我想通过传递一个int day并调用DB来更新第二个组合框,以使用基于当天的路由刷新该组合框。这是我的:
-->
<Label Content="Route:" Grid.Column="2" Grid.Row="1" Height="28" HorizontalAlignment="Left" Margin="9,60,0,0" Name="lblRoute" VerticalAlignment="Top" />
<ComboBox Grid.Column="2" Grid.Row="1" Height="23" HorizontalAlignment="Left" Margin="127,65,0,0" Name="cboRoute" VerticalAlignment="Top" Width="120"
DataContext="{Binding}" ItemsSource="{Binding Path=RouteList}" DisplayMemberPath="{Binding RouteName}" SelectedValue="{Binding RouteID}" Grid.ColumnSpan="2"
IsSynchronizedWithCurrentItem="true"/>
ViewModel:
public ObservableCollection<RouteTest> BindRouteComboBox2(int day)
{
mgr = new SRMSRailManagerBLL();
mgr.OpenConnection(ConfigurationManager.ConnectionStrings["SRMSSqlProvider"].ConnectionString);
//might not want to pass dataset
_routeDS = mgr.getRoutesForCombo(day);
_routeDV = _routeDS.Tables[0].DefaultView;
//cboRoute.ItemsSource = ds.Tables[0].DefaultView;
//cboRoute.DisplayMemberPath = ds.Tables[0].Columns["RouteName"].ToString();
//cboRoute.SelectedValuePath = ds.Tables[0].Columns["RouteID"].ToString();
_routeList = new ObservableCollection<RouteTest>();
foreach (DataRow row in _routeDV.Table.Rows)
{
RouteTest r = new RouteTest(Convert.ToInt32(row.ItemArray[0]), row.ItemArray[1].ToString());
_routeList.Add(r);
}
mgr.CloseConnection();
return _routeList;
当我单击第一个组合框时,我会在_SelectionChanged()中填充"Monday",我想要的是Tag值"1",这样我就可以传递到BindRouteComboBox(day)过程来更新第二个组合框,使其仅显示第1天的路线,而不是DB表中的每条路线。这应该很简单,我一定错过了一些简单的东西。
谢谢,
Hi使用SelectedValue而不是SelectedValuePath
string temp = (sender as ComboBox).SelectedValue.ToString();