Xceed DataGrid 中设置增加行的方法

来源:互联网 发布:大学试题软件 编辑:程序博客网 时间:2024/04/19 09:13

废话不多说直接贴代码:

<Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"     xmlns:local="clr-namespace:Xceed.Wpf.Documentation">  <Grid.Resources>    <xcdg:DataGridCollectionViewSource x:Key="cvs_persons"                                       Source="{Binding Source={x:Static Application.Current},                                                        Path=PersonList}"                                       CreatingNewItem="CollectionView_CreatingNewItem"                                       CommittingNewItem="CollectionView_CommittingNewItem"                                       CancelingNewItem="CollectionView_CancelingNewItem"/>  </Grid.Resources>  <xcdg:DataGridControl x:Name="PersonsGrid"                        ItemsSource="{Binding Source={StaticResource cvs_persons}}">     <xcdg:DataGridControl.View>        <xcdg:TableView>           <xcdg:TableView.FixedHeaders>              <DataTemplate>                 <xcdg:InsertionRow/>              </DataTemplate>           </xcdg:TableView.FixedHeaders>        </xcdg:TableView>     </xcdg:DataGridControl.View>  </xcdg:DataGridControl></Grid>

private void CollectionView_CreatingNewItem( object sender, DataGridCreatingNewItemEventArgs e ){ e.NewItem = new Person( Person.AutoIncrementID, string.Empty, string.Empty, -1 ); e.Handled = true;}private void CollectionView_CommittingNewItem( object sender, DataGridCommittingNewItemEventArgs e ){ List<Person> source = e.CollectionView.SourceCollection as List<Person>; source.Add( ( Person )e.Item ); Person.AutoIncrementID = Person.AutoIncrementID + 1; // the new item is always added at the end of the list.      e.Index = source.Count - 1; e.NewCount = source.Count; e.Handled = true;}private void CollectionView_CancelingNewItem( object sender, DataGridItemHandledEventArgs e ){ // Manually handling the insertion of new items requires that the CreatingNewItem, // CommitingNewItem, and CancelingNewItem events must all be handled even if nothing // is done in the event. e.Handled = true;}

上面Datagrid中最主要代码:

 <xcdg:DataGridControl.View>        <xcdg:TableView>           <xcdg:TableView.FixedHeaders>              <DataTemplate>                 <xcdg:InsertionRow/>              </DataTemplate>           </xcdg:TableView.FixedHeaders>        </xcdg:TableView>     </xcdg:DataGridControl.View>

好了就这些,自己看吧!



原创粉丝点击