溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么用DevExpress實現(xiàn)CRUD操作

發(fā)布時間:2022-01-04 09:25:40 來源:億速云 閱讀:158 作者:iii 欄目:大數(shù)據(jù)

本篇內(nèi)容介紹了“怎么用DevExpress實現(xiàn)CRUD操作”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

系統(tǒng)背景

  • 平臺:WPF

  • 產(chǎn)品:DXGrid for WPF

本文將為大家演示如何將LinqInstantFeedbackDataSource或LinqServerModeDataSource與DXGrid一起使用,以及如何通過特殊行為在應(yīng)用程序中實現(xiàn)CRUD操作(例如,添加、刪除、編輯)。

請注意,該測試樣本需要在您的計算機上安裝SQL Express服務(wù)。

我們?yōu)镚ridControl創(chuàng)建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屬性,以提供"Add Row" 和"Edit Row"操作。使用這些屬性,可以根據(jù)需要創(chuàng)建添加和編輯表單:

<DataTemplate 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}"/>

這些操作類需要您數(shù)據(jù)模型中的以下信息:

  • RowType - 行的類型;

  • DataContext - 數(shù)據(jù)庫實體;

  • 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類,以了解有關(guān)LinqServerModeDataSource和LinqInstantFeedbackDataSource的更多信息。

操作類的后代支持以下命令:NewRowCommand、RemoveRowCommand、EditRowCommand,您可以輕松地將交互控件與這些命令綁定在一起,例如:

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

<StackPanel Grid.Row="1" Orientation="Horizontal" HorizontalAlignment="Center">

<Button Height="22" Width="60" Command="{Binding Path=NewRowCommand, ElementName=helper}">Add</Button>

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

<Button Height="22" Width="60" Command="{Binding Path=EditRowCommand, ElementName=helper}">Edit</Button>

</StackPanel>

默認情況下,LINQServerModeCRUDBehavior和LINQInstantModeCRUDBehavior解決方案支持以下最終用戶交互功能:

  1. 最終用戶可以通過雙擊網(wǎng)格行或在AllowKeyDownActions屬性為True的情況下按Enter鍵來編輯選定的行值。

  2. 如果AllowKeyDownActions屬性為True,則最終用戶可以通過Delete鍵刪除選定的行。

  3. 最終用戶可以通過NewRowCommand、RemoveRowCommand和EditRowCommand命令添加、刪除和編輯新行。

“怎么用DevExpress實現(xiàn)CRUD操作”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI