【发布时间】:2017-08-08 10:59:41
【问题描述】:
这是我的 ComboBox 在 xaml 文件中的代码:
<telerik:RadComboBox Grid.Row="3" Grid.Column="1" VerticalAlignment="Center" telerik:TextSearch.TextPath="Name" Margin="0 0 10 0"
IsEditable="True" ItemsSource="{Binding AvailableFunds}"
DisplayMemberPath="Perioada"
SelectedValuePath="Perioada"
SelectedValue="{Binding Path=Perioada}"
SelectedIndex="0"
SelectionBoxTemplate="{StaticResource ComboBoxSimpleTemplate}" SelectionChanged="RadComboBox_SelectionChanged"/>
组合框显示一些日期(年和月),客户可以在其中选择一个。然后,我需要在列表视图中显示所选期间的所有日期:
<ListView Grid.Row="4" Grid.Column="1" ItemsSource="{Binding SalesGroupedByPartners}" Margin="0,0,10,0" ScrollViewer.HorizontalScrollBarVisibility="Auto">
<ListView.View>
<GridView >
<GridViewColumn Header="Perioada" Width="100" DisplayMemberBinding="{Binding Path=Perioada}"/>
<GridViewColumn Header="Nume Client" Width="300" DisplayMemberBinding="{Binding Path=Client}"/>
<GridViewColumn Width="120" Header="Suma">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Width="120" TextAlignment="Right" Text="{Binding Path=Suma, StringFormat=N2}" Margin="-6,0" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
在 .cs 文件中我有一个空方法:
private void RadComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
}
我尝试在此方法中创建一个字符串并保存我的 ComboBox 的结果,但无法访问它,因为我的 ComboBox 没有名称 ( )。
或者,我可以将选择直接发送到 sql 文件....:
声明@Period set @Period = client choise (这里我不知道从ComboBox调用)
并在 ListView 中显示:
从表中选择 * 其中期间 = @Period
【问题讨论】:
-
我尝试在此方法中创建一个字符串并保存我的 ComboBox 的结果,但无法访问它,因为我的 ComboBox 没有名称 ( )。 你不要'当您使用 MVVM 模式和绑定时不需要名称,就像您已经使用的那样;) 属性中的值不是
Perioada吗? -
Perioada 只是 .sql 文件中显示所有日期的列。根据此选择,新的 .sql 查询需要有一行“其中 Period = @Period(客户端选择的期间)和 d
-
这就是为什么当你将数据库对象绑定到你的视图时这是一个糟糕的模式。您应该使用视图模型并绑定它们的属性。那么从
ComboBox或任何其他控件中获取值就不成问题了。
标签: wpf listview combobox designer