zoukankan      html  css  js  c++  java
  • 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();
            }

  • 相关阅读:
    浅入深出Vue:数据绑定
    浅入深出Vue:数据渲染
    浅入深出Vue:环境搭建
    浅入深出Vue:工具准备之PostMan安装配置及Mock服务配置
    浅入深出Vue:工具准备之WebStorm安装配置
    【重点突破】—— react使用http-proxy-middleware反向代理跨域
    【重点突破】—— 工作中git分支的基本使用
    【营销小程序】—— webview嵌套web端项目(原生开发支付功能)
    【营销App】—— react/ant design mobile项目爬坑
    【重点突破】—— UniApp微信小程序开发教程学习Three
  • 原文地址:https://www.cnblogs.com/swarb/p/9924428.html
Copyright © 2011-2022 走看看