WPFインターフェイスの開発が難しすぎますか?DevExpressはCRUDの処理方法を教えてくれます

DevExpress Technical Exchange Group 2:775869749グループディスカッションへようこそ

DevExpress v20.1フルバージョンをダウンロードDevExpress v20.1     中国語リソース獲得

DevExpress社のWPFコントロール、あなたは現代的な顧客のニーズに焦点を当て、強力なインタラクティブ機能を備えたXAMLベースのアプリケーションを作成することができますし、将来的にはタッチ対応ソリューションの新世代を構築します。

システムの背景

  • プラットフォーム:WPF
  • 製品:DXGrid for WPF

この記事では、DXGridでLinqInstantFeedbackDataSourceまたはLinqServerModeDataSourceを使用する方法と、特別な動作を通じてアプリケーションでCRUD操作(たとえば、追加、削除、編集)を実装する方法を示します。

このテストサンプルでは、​​SQL Expressサービスがコンピューターにインストールされている必要があります。

GridControlのLINQServerModeCRUDBehaviorおよびLINQInstantModeCRUDBehavior追加操作を作成します。次に例を示します。

 

<DXG:GRIDCONTROL> 

<dxmvvm:Interaction.Behaviors> 

<CRUD:LINQServerModeCRUDBehavior ...> 

<CRUD:LINQServerModeCRUDBehavior.DataSource /> 

<dxsm:LinqServerModeDataSource ... /> 

</crud:LINQServerModeCRUDBehavior.DataSource> 

</ CRUD:LINQServerModeCRUDBehavior > 

</dxmvvm:Interaction.Behaviors> 

</ dxg:GridControl>

 

LINQServerModeCRUDBehaviorクラスとLINQInstantModeCRUDBehaviorクラスには、「行の追加」および「行の編集」操作を提供するNewRowFormプロパティとEditRowFormプロパティが含まれています。これらの属性を使用して、必要に応じて追加および編集フォームを作成できます。

 

<Da​​taTemplate x:Key = "EditRecordTemplate"> 

<StackPanel Margin = "8" MinWidth = "200"> 

<Grid> 

<Grid.ColumnDefinitions> 

<ColumnDefinition /> 

<ColumnDefinition /> 

</Grid.ColumnDefinitions> 

<Grid.RowDefinitions> 

<RowDefinition /> 

<RowDefinition /> 

</Grid.RowDefinitions> 

<TextBlock Text = "ID:" VerticalAlignment = "Center" Grid.Row = "0" Grid.Column = "0" Margin = "0,0,6、 4 "/> 

<dxe:TextEdit x:Name =" txtID "Grid.Row =" 0 "Grid.Column =" 1 "EditValue =" {Binding Path = Id、Mode = TwoWay} "Margin =" 0,0、 0,4 "/> 

<TextBlock Text = "Name:" VerticalAlignment = "Center" Grid.Row = "1" Grid.Column = "0" Margin = "0,0,6,4" />

<dxe:TextEdit x:Name = "txtCompany" Grid.Row = "1" Grid.Column = "1" EditValue = "{Binding Path = Name、Mode = TwoWay}" Margin = "0,0,0,4" /> 

</ Grid> 

</ StackPanel> 

</ DataTemplate> 

<crud:LINQServerModeCRUDBehavior NewRowForm = "{StaticResource ResourceKey = EditRecordTemplate}" EditRowForm = "{StaticResource ResourceKey = EditRecordTemplate}" />

 

これらの操作クラスには、データモデルに次の情報が必要です。

  • RowType-行のタイプ。
  • DataContext-データベースエンティティ。
  • DataSource-LinqInstantFeedbackDataSourceまたはLinqServerModeDataSourceタイプのオブジェクト。

 

<dxg:GridControl> 

<i:Interaction.Behaviors> 

<crud:LINQServerModeCRUDBehavior RowType = "{x:Type local:Item}" DataContext = "{Binding Source = {StaticResource DataClassesDataContext}}"> 

<crud:LINQServerModeCRUDBehavior.DataSource> 

< dxsm:LinqServerModeDataSource KeyExpression = "Id" QueryableSource = "{Binding Items、Source = {StaticResource DataClassesDataContext}}" /> 

</crud:LINQServerModeCRUDBehavior.DataSource> 

</ crud:LINQServerModeCRUDBehavior> 

</i:Interaction.Behaviors> 

</ dxg :GridControl>

 

LinqServerModeDataSourceおよびLinqInstantFeedbackDataSourceの詳細については、LinqServerModeDataSourceおよびLinqInstantFeedbackDataSourceクラスを参照してください 

操作クラスの子孫は、次のコマンドをサポートしています:NewRowCommand、RemoveRowCommand、EditRowCommandこれらのコマンドにインタラクティブなコントロールを簡単にバインドできます。

 

<crud:LINQServerModeCRUDBehavior x:Name = "helper" /> 

<StackPanel Grid.Row = "1" Orientation = "Horizo​​ntal" Horizo​​ntalAlignment = "Center"> 

<Button Height = "22" Width = "60" Command = "{Binding Path = NewRowCommand、ElementName = helper} ">追加</ Button> 

<Button Height =" 22 "Width =" 60 "Command =" {Binding Path = RemoveRowCommand、ElementName = helper} "Margin =" 6,0,6、 0 ">削除</ Button> 

<Button Height =" 22 "Width =" 60 "Command =" {Binding Path = EditRowCommand、ElementName = helper} ">編集</ Button> 

</ StackPanel>

 

既定では、LINQServerModeCRUDBehaviorおよびLINQInstantModeCRUDBehaviorソリューションは、次のエンドユーザー操作機能をサポートしています。

  1. エンドユーザーは、グリッド行をダブルクリックするか、AllowKeyDownActionsプロパティがTrueのときにEnterキーを押すことにより、選択した行の値を編集できます。
  2. AllowKeyDownActionsプロパティがTrueの場合、エンドユーザーはDeleteキーを使用して選択した行を削除できます。
  3. エンドユーザーは、NewRowCommand、RemoveRowCommand、およびEditRowCommandコマンドを使用して、新しい行を追加、削除、および編集できます。

DevExpress中国語Webサイトで、DevExpressの直接の相談を受けてください!

おすすめ

転載: blog.csdn.net/AABBbaby/article/details/108639159
おすすめ