• Siverlight dataform 使用小结


    WCF服务中获取EntityQuery方法:

            public UserContext db = new UserContext();
            public EntityQuery<userinfo> GetUsers()
            {
                return db.GetUserinfoesQuery();
            }

    siverlight调用并绑定dataform

     UserRIA ur = new UserRIA();
            private void dfUser_Loaded(object sender, RoutedEventArgs e)
            {
                //var aa = ur.db.Load(ur.GetUsers(), Load,null).Entities;
                //dfUser.ItemsSource = aa;
                //dfUser.CurrentItem = aa.First();
               //dfUser.ItemsSource = GetUsers();
                ur.db.Load(ur.GetUsers()).Completed +=new EventHandler(TestDataForm_Completed);
            }
            void TestDataForm_Completed(object sender, EventArgs e)
            {
                dfUser.ItemsSource = ur.db.userinfos;
            }
            private void Load(System.ServiceModel.DomainServices.Client.LoadOperation load)
            {
                dfUser.CurrentItem = load.Entities.First();
            }

    siverlight页面dataform设计

    引入命名空间:  xmlns:dataform="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data.DataForm.Toolkit"

    添加dataform

            <dataform:DataForm x:Name="dfUser" Loaded="dfUser_Loaded" DataContext="{Binding}">

               ///头模板
                <dataform:DataForm.HeaderTemplate>
                    <DataTemplate>
                        <StackPanel>
                            <TextBlock Text="用户信息列表"></TextBlock>
                        </StackPanel>
                    </DataTemplate>
                </dataform:DataForm.HeaderTemplate>

              ////编辑模板
                <dataform:DataForm.EditTemplate>
                    <DataTemplate>
                        <StackPanel>
                            <TextBlock Text="编辑"></TextBlock>
                            <dataform:DataField Label=" 用户名">
                                <TextBox Text="{Binding username,Mode=TwoWay}"></TextBox>
                            </dataform:DataField>
                            <dataform:DataField Label=" 密码">
                                <TextBox Text="{Binding userpwd,Mode=TwoWay}"></TextBox>
                            </dataform:DataField>
                            <Button x:Name="btn_Save" Content="保存修改" Click="btn_Save_Click" Margin="10,0,0,0" VerticalAlignment="Center"/>
                            <Button x:Name="btn_Cancel" Content="取消" Click="btn_Cancel_Click" Margin="10,0,0,0" VerticalAlignment="Center"/>
                        </StackPanel>
                    </DataTemplate>
                </dataform:DataForm.EditTemplate>

               /////////////添加模板
                <dataform:DataForm.NewItemTemplate>
                    <DataTemplate>
                        <StackPanel>
                            <TextBlock Text="添加"></TextBlock>
                            <dataform:DataField Label=" 用户名">
                                <TextBox Text="{Binding username,Mode=TwoWay}"></TextBox>
                            </dataform:DataField>
                            <dataform:DataField Label=" 密码">
                                <TextBox Text="{Binding userpwd,Mode=TwoWay}"></TextBox>
                            </dataform:DataField>
                        </StackPanel>
                    </DataTemplate>
                </dataform:DataForm.NewItemTemplate>

                ////只读模板
                <dataform:DataForm.ReadOnlyTemplate>
                    <DataTemplate>
                        <StackPanel>
                            <TextBlock Text="只读"></TextBlock>
                            <dataform:DataField Label=" 用户名">
                                <TextBox Text="{Binding username,Mode=TwoWay}"></TextBox>
                            </dataform:DataField>
                            <dataform:DataField Label=" 密码">
                                <TextBox Text="{Binding userpwd,Mode=TwoWay}"></TextBox>
                            </dataform:DataField>
                        </StackPanel>
                    </DataTemplate>
                </dataform:DataForm.ReadOnlyTemplate>
            </dataform:DataForm>

            //修改dataform 数据
            private void btn_Save_Click(object sender, RoutedEventArgs e)
            {
                userinfo us = dfUser.CurrentItem as userinfo;
                dfUser.CommitEdit();
                if (ur.db.HasChanges)
                {
                    ur.db.SubmitChanges();
                    dfUser.ApplyTemplate();
                    MessageBox.Show("ok");
                }
                else
                {
                    MessageBox.Show("无修改项!");
                }
            }
            //取消修改
            private void btn_Cancel_Click(object sender, RoutedEventArgs e)
            {
                ur.db.RejectChanges();
            }

  • 相关阅读:
    方格取数+ 传纸条 noip2000 + noip2008 DP
    题解 P1103 【书本整理】
    CF212D 【Cutting a Fence】
    CF339D 【Xenia and Bit Operations】
    旅行 NOIP2018 luogu P5022
    CodeFores 集合
    战略游戏 SDOI2018 圆方树 + 树上倍增求点权和
    树网的核 NOIP 2007 luogu P1099
    P2341 [USACO03FALL][HAOI2006]受欢迎的牛 G
    NOIP 2017 P3959 宝藏 (状态压缩DP板子)
  • 原文地址:https://www.cnblogs.com/swarb/p/9924428.html
Copyright © 2020-2023  润新知