0

我正在使用 wpftoolkit 数据网格控件,该控件使用 collectionviewsource 进行绑定以进行记录分组。每当用户试图清除表单时,我也需要清除数据网格。我尝试将 datagrid itemsource 设置为 null,但它适用于明确的功能。如果用户尝试将任何记录添加到 datagrid 它不会加载。

那么任何人都可以为我提供一个清除数据网格的解决方案。

提前致谢。

4

1 回答 1

0

我在这种情况下使用 ObservableCollection。例子:

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
        this.items = new ObservableCollection<Item>(
            Enumerable.Range(0, 10).Select(i => new Item {Id = i, Title = "str " + i}));
        this.viewSource = new CollectionViewSource() { Source = this.items };

        dataGrid1.ItemsSource = this.viewSource.View;
    }

    private ObservableCollection<Item> items;
    private CollectionViewSource viewSource;

    private void Button_Click(object sender, RoutedEventArgs e)
    {
        items.Clear();
        //or
        //((ObservableCollection<Item>)viewSource.Source).Clear();
    }

    public class Item
    {
        public int Id { get; set; }
        public string Title { get; set; }
    } 
}

xml:

<Button HorizontalAlignment="Center" Content="Clear" Click="Button_Click"/>
<DataGrid AutoGenerateColumns="True" Name="dataGrid1" />
于 2011-02-02T17:28:19.070 回答