我本人接触siverlight时间不长,以前搞的东西太多太杂了,最近项目用到siverlight,而且siverlight体验很少一般啊。所以平时时间多,就用siverlight完善自己的文档收集系统了。

以前简单的用siverlight页面做了个增删改查的页面,好像结构有些问题。最近重构一下代码,将版块单独设置成一个数据表来存放,以前都是xml存放,感觉太不方便了,现在将分类和版块设置为子主关系了。

首先在服务器端生成entity framework和domainservice,metadata文件,本来可以不用生成元数据文件的,但是因为级联问题必须要生成了。

treeview第一级菜单是版块菜单,第二级是分类菜单,写在grid的资源文件,然后用树调用。

<Grid.Resources>
            <sdk:HierarchicalDataTemplate x:Key="ChildTemplate">
                <TextBlock Text="{Binding Path=Name}"></TextBlock>
            </sdk:HierarchicalDataTemplate>
            <sdk:HierarchicalDataTemplate x:Key="RootTemplate" ItemsSource="{Binding Fenlei}"
                ItemTemplate="{StaticResource ChildTemplate}">
                <TextBlock Text="{Binding Path=Name}"></TextBlock>
            </sdk:HierarchicalDataTemplate>
        </Grid.Resources>

<sdk:TreeView Height="403" HorizontalAlignment="Left" Name="treeView1"
            VerticalAlignment="Top" Width="192" ItemTemplate="{StaticResource RootTemplate}" />

这个树的构成不多说,有大牛的文章介绍,http://www.cnblogs.com/jv9/archive/2009/12/12/1621952.html

后台绑定就没法求人了

用在构造函数中用回调方法得到数据库中的版块实体,但是由于二级菜单是分类实体,虽然分类实体是版块实体的儿子吧,表述比较乱啊,所以在调用版块实体时应该关联分类实体,就需要用到include特性了。

所以在metedata中定义,

[Include]
            public BankuaiInfo BankuaiInfo { get; set; }

在版块实体的查询中定义,

public IQueryable<BankuaiInfo> GetBankuaiInfos()
        {
            return this.ObjectContext.BankuaiInfos.Include("Fenlei");
        }

最后写页面回调函数,并绑定treeview
MyAppContext db = new MyAppContext();
        public FenleiEdit()
        {
            InitializeComponent();
            InitData();
        }
        void InitData()
        {

//这个和底下那句,是给页面加加载控件的,可以注释掉
            ((System.Windows.Controls.BusyIndicator)(App.Current.RootVisual)).IsBusy = true;
            db.Load(db.GetBankuaiInfosQuery(), LoadBehavior.RefreshCurrent, loadBankuaiInfo, null);
           
        }

void loadBankuaiInfo(LoadOperation<BankuaiInfo> lo)
        {
            ObservableCollection<BankuaiInfo> forumList = new ObservableCollection<BankuaiInfo>(lo.Entities);
            this.treeView1.ItemsSource = forumList;
            ((System.Windows.Controls.BusyIndicator)(App.Current.RootVisual)).IsBusy = false;
        }

机子好卡,写到这里,以后再写一个对节点增删改查的。

转载于:https://www.cnblogs.com/zl40650194/archive/2011/08/22/2149310.html

wcf ria中主从表绑定treeview相关推荐

  1. Winform界面中主从表编辑界面的快速处理

    在Winform开发中,我们往往除了常规的单表信息录入外,有时候设计到多个主从表的数据显示.编辑等界面,单表的信息一般就是控件和对象实体一一对应,然后调用API保存即可,主从表就需要另外特殊处理,本随 ...

  2. [译]WCF RIA Services中的集合(2)

    原文地址:http://www.silverlightshow.net/items/Working-with-collections-in-WCF-RIA-Services-part-two.aspx ...

  3. 在GridControl表格控件中实现多层级主从表数据的展示

    在一些应用场景中,我们需要实现多层级的数据表格显示,如常规的二级主从表数据展示,甚至也有多个层级展示的需求,那么我们如何通过DevExpress的GridControl控表格件实现这种业务需求呢?本篇 ...

  4. devexpress 主从表中从主、从表行列值的获得

    一,主从表的设置 代码             DataTable dt = pb.GetItemInfoList(Port).Copy(); //返回一个TABLE             dt.T ...

  5. wpf DataGrid主从表,DataGrid嵌套DataGrid主从结构rowdetailtemplate实现,绑定DataTable数据源,使用Visual Studio 2017

    wpf DataGrid主从表,DataGrid嵌套DataGrid主从结构rowdetailtemplate实现,绑定DataTable数据源,使用Visual Studio 2017 . 子表绑定 ...

  6. wpf绑定treeview 带查找_如何查找,修复和避免C#.NET中内存泄漏的8个最佳实践

    本文来源:https://michaelscodingspot.com/find-fix-and-avoid-memory-leaks-in-c-net-8-best-practices/ 从事大型企 ...

  7. Silverlight WCF RIA服务(二十三)Silverlight 客户端 4

    DomainDataSource WCF RIA Services提供DomainDataSource控件来简化用户界面和域上下文中数据的交互.通过DomainDataSource,我们可以只是用声明 ...

  8. (转)使用Entity Framework和WCF Ria Services开发SilverLight之1:简单模型

    原文地址:http://www.cnblogs.com/luminji/archive/2011/06/10/2077696.html 本文目的是通过Silverlight ria service完成 ...

  9. [Translation]Silverlight 4-MVVM with Commanding and WCF RIA Services

    原文地址:Silverlight 4 - MVVM with Commanding and WCF RIA Services 在我的前一篇文章 "WCF RIA Services and a ...

最新文章

  1. 基于ECS部署LAMP环境实验记录
  2. 跨平台C++开发环境搭建——GNU+STL+Boost+wxWidget+OpenSceneGraph
  3. IOS开发-GitHub使用详解
  4. 框架 路由地址_Django框架的使用
  5. I.MX6ULL镜像文件
  6. 微服务架构系列二:密码强度评测的实现与实验
  7. 遍历结果集java_java – 循环遍历while循环后如何将结果集重置为第一行
  8. 【C语言】矩阵的最大值(指针专题)
  9. LambdaLoss | Google排序学习优化框架
  10. QuickBI助你成为分析师-仪表板钻取的实现
  11. Vue系列(2):Vue 安装
  12. 一篇文章教你用 java爬虫 下载全站视频
  13. 如何正确安装 Google Picasa 2 中文版?
  14. python timepicker_Android之日期时间选择控件DatePicker和TimePicker
  15. taptap APP端 产品体验的一点分析报告
  16. 高效记忆/形象记忆(09)英语单词记忆-拼音法
  17. “二选一”是支付宝首创,背后是帝国的霸权逻辑
  18. win10 机械硬盘 开机速度缓慢的原因排查与优化
  19. python上下对齐_python-docx设置表格对齐方式
  20. 3DMAX绘室内装修三维效果图

热门文章

  1. discuz“附件文件无法保存到远程服务器”故障的解决
  2. java去重复的集合_如何去除Java中List集合中的重复数据
  3. 4.3.9 ICMP协议
  4. python将txt文件多行合并为一行并将中间的空格去掉
  5. python类继承实例
  6. 关于http://127.0.0.1:4723/wd/hub的解释
  7. spring框架使用Quartz执行定时任务实例详解
  8. JAVA基础中关于double进制问题的解析
  9. hdu 1872(看病要排队)(优先队列)
  10. nagios 3.2安装详解(一)