• <menu id="w2i4a"></menu>
  • logo DevExpress WPF使用技巧教程

    文檔首頁>>DevExpress WPF使用技巧教程>>DevExpress WPF使用技巧教程:使用WcfInstantFeedback和WcfServerMode源時如何實現(xiàn)CRUD操作

    DevExpress WPF使用技巧教程:使用WcfInstantFeedback和WcfServerMode源時如何實現(xiàn)CRUD操作


    下載DevExpress v20.1完整版    DevExpress v20.1漢化資源獲取

    通過DevExpress WPF Controls,您能創(chuàng)建有著強大互動功能的XAML基礎(chǔ)應(yīng)用程序,這些應(yīng)用程序?qū)W⒂诋敶蛻舻男枨蠛蜆?gòu)建未來新一代支持觸摸的解決方案。

    系統(tǒng)背景
    • 平臺:WPF
    • 產(chǎn)品:DXGrid for WPF

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

    該測試需要在您的計算機上安裝SQL Express服務(wù)。

    我們?yōu)镚ridControl創(chuàng)建了WCFServerModeCRUDBehavior和WCFInstantModeCRUDBehavior附加操作,例如:

    <dxg:GridControl> 
    <i:Interaction.Behaviors> 
    <crud:WCFServerModeCRUDBehavior ...> 
    <crud:WCFServerModeCRUDBehavior.DataSource/> 
    <dxsm:LinqServerModeDataSource .../> 
    </crud:WCFServerModeCRUDBehavior.DataSource> 
    </crud:WCFServerModeCRUDBehavior> 
    </i:Interaction.Behaviors> 
    </dxg:GridControl>

    WCFServerModeCRUDBehavior和WCFInstantModeCRUDBehavior類包含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:WCFServerModeCRUDBehavior NewRowForm="{StaticResource ResourceKey=EditRecordTemplate}" EditRowForm="{StaticResource ResourceKey=EditRecordTemplate}"/>

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

    • EntityObjectType - 行的類型;
    • DataServiceContext - DataServiceContext類型的對象;
    • PropertiesList - 表列的列表;
    • PrimaryKey - 數(shù)據(jù)庫表的主鍵;
    • DataSource - WcfInstantFeedbackDataSource或WcfServerModeDataSource類型的對象。

    <dxg:GridControl> 
    <i:Interaction.Behaviors> 
    <crud:WCFInstantModeCRUDBehavior EntityObjectType="{x:Type sr:Item}" DataSource="{Binding ElementName=wcfInstantSource}" DataServiceContext="{Binding DataSource.DataServiceContext, RelativeSource={RelativeSource Self}}"/> 
    </i:Interaction.Behaviors> 
    </dxg:GridControl>

    helper.PropertiesList.Add("Id"); 
    helper.PropertiesList.Add("Name");

    請參閱WcfInstantFeedbackDataSourceWcfServerModeDataSource類以了解有關(guān)WcfInstantFeedbackDataSource和WcfServerModeDataSource的更多信息。

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

    <crud:WCFServerModeCRUDBehavior 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>

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

    1. 最終用戶可以通過雙擊網(wǎng)格行或在AllowKeyDownActions屬性為True的情況下按Enter鍵來編輯選定的行值。
    2. 如果AllowKeyDownActions屬性為True,則最終用戶可以通過Delete鍵刪除選定的行。
    3. 最終用戶可以通過NewRowCommand、RemoveRowCommand和EditRowCommand命令添加、刪除和編輯新行。

    DevExpress技術(shù)交流群2:775869749      歡迎一起進群討論

    獲取第一手DevExpress咨詢,盡在DevExpress中文網(wǎng)!

    慧都高端UI界面開發(fā)
    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();