这是我在xaml文件中的ComboBox的代码:
<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 设置@Period =客户端选择(这里我不知道从ComboBox调用)
并在ListView中显示:
从表中选择* 其中Period = @Period
答案 0 :(得分:0)
我尝试在此方法中创建一个字符串并保存我的ComboBox的结果,但无法访问它,因为我的ComboBox没有名称()。
您可以通过在事件处理程序中转换RadComboBox
参数来获取对sender
的引用:
private void RadComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
Telerik.Windows.Controls.RadComboBox comboBox = sender as Telerik.Windows.Controls.RadComboBox;
object value = comboBox.SelectedValue;
//...
}
但是,由于绑定到Perioada
属性,您还可以从此属性中检索当前选定的值。
答案 1 :(得分:0)
解决了:D
在xaml.cs文件中需要添加一些代码:
cn.Open();
SqlCommand cmd = new SqlCommand(Properties.Resources.SalesGroupedByPartners, cn);
cmd.CommandType = CommandType.Text;
cmd.CommandTimeout = 100;
cmd.Parameters.AddWithValue("@Perioada", Perioada);
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(salesGroupedByPartners);
cn.Close();
和
var negativeRows = new List<SalesGroupedByPartners>();
foreach (var v in viewModel.SalesGroupedByPartners)
{
if (v.Perioada == "@Perioada")
{
negativeRows.Add(v);
}
}