在xaml xamgrid复选框列中计算选中的复选框

时间:2013-09-05 09:47:53

标签: c# wpf

我正在开发一个WPF xaml应用程序,在这种情况下,我已经开发了一个GridView来表示数据库中的数据。现在我想在我的GridView中添加CheckBoxColumn。目的是通过选中CheckBox来选择GridView中的DataRows。此外,我想计算该列中已检查CheckBox的数量。我是编程新手,所以我对此一无所知。请帮我。谢谢!

<ig:XamGrid.Columns>
     <ig:TextColumn Key="Date" Width="150" HeaderText="date" />
     <ig:TextColumn Key="Name" Width="100" HeaderText="name" />
     <ig:TextColumn Key="Id" Width="120" HeaderText="id" />
     <ig:TextColumn Key="Detail" Width="300" HeaderText="detail" />
     <ig:CheckBoxColumn Key="Select" Width="100" HeaderText="select" />
</ig:XamGrid.Columns>

1 个答案:

答案 0 :(得分:0)

如果您在XamGrid上使用ItemsSource属性,数据绑定应更新源集合,您应该可以这样做:

var count = rows.Where(r=>r.select).Count();

行是您的数据集合。

更新1:

我没有XamGrid但是如果你使用标准的DataGrid,它将如下所示:

Data = new ObservableCollection<Step2Data>
    {
        new Step2Data { LayerName = "Ania"},
        new Step2Data { LayerName = "Bartek", Accept = true},
        new Step2Data { LayerName = "Omega"},
        new Step2Data { LayerName = "Second"},
    };

XAML:

<DataGrid ItemsSource="{Binding Data}" AutoGenerateColumns="False">
    <DataGrid.Columns>
        <DataGridTextColumn Header="Layer name" Binding="{Binding LayerName}" />
        <DataGridTextColumn Header="Porosity" Binding="{Binding Porosity}" />
        <DataGridCheckBoxColumn Header="Accept" Binding="{Binding Accept, UpdateSourceTrigger=PropertyChanged}" />
    </DataGrid.Columns>
</DataGrid>

并选择计数:

var count = Data.Count(d => d.Accept);