0.使用MiroModes框架请先阅读http://blogs.telerik.com/blogs/posts/10-01-20/micromodels_for_silverlight.aspx

  1.首先定义模型

 public class Division
    {
        public int Id
        {
            get;
            set;
        }
        public string Name
        {
            get;
            set;
        }
        public List<Team> Teams
        {
            get;
            set;
        }

}

    public class Team
    {
        public int Id
        {
            get;
            set;
        }
        public string Name
        {
            get;
            set;
        }
        public int Place
        {
            get;
            set;
        }

}

  2.定义service

 public class DivisionsService
    {
        public static ObservableCollection<Division> GetDivisions()
        {
            ObservableCollection<Division> divisions = new ObservableCollection<Division>();
            Division dA = new Division();
            dA.Name = "Division A";
            dA.Id = 1;
            dA.Teams = new List<Team>();
            Team team1 = new Team();
            team1.Id = 1;
            team1.Name = "Team I";
            team1.Place = 1;
            dA.Teams.Add(team1);
            Team team2 = new Team();
            team2.Id = 2;
            team2.Name = "Team II";
            team2.Place = 2;
            dA.Teams.Add(team2);
            Team team3 = new Team();
            team3.Id = 3;
            team3.Name = "Team III";
            team3.Place = 3;
            dA.Teams.Add(team3);
            divisions.Add(dA);
            Division dB = new Division();
            dB.Name = "Division B";
            dB.Id = 2;
            dB.Teams = new List<Team>();
            Team teamRed = new Team();
            teamRed.Id = 1;
            teamRed.Name = "Team Red";
            teamRed.Place = 1;
            dB.Teams.Add(teamRed);
            Team teamGreen = new Team();
            teamGreen.Id = 2;
            teamGreen.Name = "Team Green";
            teamGreen.Place = 2;
            dB.Teams.Add(teamGreen);
            Team teamBlue = new Team();
            teamBlue.Id = 3;
            teamBlue.Name = "Team Blue";
            teamBlue.Place = 3;
            dB.Teams.Add(teamBlue);
            divisions.Add(dB);

Division dC = new Division();
            dC.Name = "Division C";
            dC.Id = 3;
            dC.Teams = new List<Team>();
            Team teamAlpha = new Team();
            teamAlpha.Id = 1;
            teamAlpha.Name = "Team Alpha";
            teamAlpha.Place = 1;
            dC.Teams.Add(teamAlpha);
            Team teamBeta = new Team();
            teamBeta.Id = 2;
            teamBeta.Name = "Team Beta";
            teamBeta.Place = 2;
            dC.Teams.Add(teamBeta);
            Team teamGama = new Team();
            teamGama.Id = 3;
            teamGama.Name = "Team Gama";
            teamGama.Place = 3;
            dC.Teams.Add(teamGama);
            divisions.Add(dC);
            return divisions;
        }

}

  3.定义viewModel

public class Viewmodel : MicroModel
    {
        public Viewmodel(ObservableCollection<Division> divisions)
        {
            //AllProperties(order);

Collection("LineItems", () => divisions);
            //.Each((item, model) => model.Property("LineTotal", () => item.UnitPrice * item.Quantity));

//Command("Save", () => orderService.Save(order, lineItems));
        }
    }

  4.定义view

 <Grid x:Name="LayoutRoot" DataContext="{Binding Object}">
<telerik:RadGridView  AutoGenerateColumns="False" x:Name="HierarchicalGridView" ItemsSource="{Binding Path=LineItems}">
            <telerik:RadGridView.ChildTableDefinitions>

<telerik:GridViewTableDefinition>
                    <telerik:GridViewTableDefinition.Relation>
                        <telerik:PropertyRelation ParentPropertyName="Teams" />
                    </telerik:GridViewTableDefinition.Relation>
                </telerik:GridViewTableDefinition>

</telerik:RadGridView.ChildTableDefinitions>

<telerik:RadGridView.Columns>
                <telerik:GridViewDataColumn Header="Id">
                    <telerik:GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <Grid DataContext="{Binding Object}" >
                                <Grid.ColumnDefinitions>
                                    <ColumnDefinition Width="80" />
                                </Grid.ColumnDefinitions>
                                <TextBlock Margin="1" Grid.Column="0" Text="{Binding Path=Id}" />
                            </Grid>
                        </DataTemplate>
                    </telerik:GridViewColumn.CellTemplate>
                </telerik:GridViewDataColumn>
                <telerik:GridViewDataColumn Header="Name">
                    <telerik:GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <Grid DataContext="{Binding Object}" >
                                <Grid.ColumnDefinitions>
                                    <ColumnDefinition Width="80" />
                                </Grid.ColumnDefinitions>
                                <TextBlock Margin="1" Grid.Column="0" Text="{Binding Path=Name}" />
                            </Grid>
                        </DataTemplate>
                    </telerik:GridViewColumn.CellTemplate>
                </telerik:GridViewDataColumn>
            </telerik:RadGridView.Columns>

</telerik:RadGridView>

  完成,显示效果为:

  

  本文来自xiaoguang44的博客,原文地址:http://blog.csdn.net/xiaoguang44/article/details/6818480

Telerik 控件 RadGridview实现绑定的更多相关文章

  1. chrome控制台查看控件有没绑定事件[转]

    chrome控制台查看btn_comment_submit控件有没绑定事件 function lookEvents (elem) {     return $.data ? $.data( elem, ...

  2. WPF DataGrid列设置为TextBox控件的相关绑定

    在wpf的DataGrid控件中,某一列的数据模板为TextBox控件的话,绑定Text="{Binding TxtSn, UpdateSourceTrigger=PropertyChang ...

  3. WinFrom 第三方控件 TeleRik控件

    1.首先从工具-拓展与应用中下载安装  TeleRik WinFroms VsExtensions   TeleRik dll文件     2.工具箱控件  将Telerik控件更新过来 3.新建一个 ...

  4. Telerik 控件事例(鼠标拖动行,拖动列,设置行对齐,行宽,是否显示)

    People.cs using System;using System.Collections.Generic;using System.Data;using System.Linq;using Sy ...

  5. 使用Telerik控件搭建Doubanfm频道部分

    今天感觉好累啊..还是坚持记录下. 收集的API: https://github.com/HakurouKen/douban.fm-api https://github.com/zonyitoo/do ...

  6. 【Telerik控件学习】-建立自己的图形编辑工具(Diagram)

    Telerik提供了RadDiagram控件,用于图形元素的旋转,拖拽和缩放.更重要的是,它还拓展了许多绑定的命令(复制,剪切,粘贴,回退等等). 我们可以用来组织自己的图形编辑工具. Step1.定 ...

  7. 【Telerik控件学习】-制作3D效果的柱状图(ChartView)

    首先,定义柱状图,并设置自定义的DataTemplate <telerik:RadCartesianChart > <telerik:RadCartesianChart.Horizo ...

  8. EasyUI 中 DataGrid 控件 列 如何绑定对象中的属性

    EasyUI 中 DataGrid 控件 是我们经常用到的控件之一, 但是 DataGrid 控件 在绑定显示列时却不支持对象属性绑定. 模型如下: public class Manager impl ...

  9. GridView 控件中如何绑定 CheckBoxList

    需求:设计这样一个页面,在页面上可以选择和展示各省份对应的文明城市? 思路:一次性查询出所需的记录(查询数据库的操作不宜写到 C# 代码的循环语句中),并保存到全局变量中,之后根据条件过滤出需要的.可 ...

随机推荐

  1. 【★】Web精彩实战之<智能迷宫>

    JS精彩实战之<智能迷宫>      ---宝贵编程经验分享会--- hello大家好,这里是Web云课堂,之前的一年里我们经历了Html和CSS的系统攻城,此时的你们已经是做静态(动静结 ...

  2. Java Collections 源码分析

    Java Collections API源码分析 侯捷老师剖析了不少Framework,如MFC,STL等.侯老师有句名言: 源码面前,了无秘密 这句话还在知乎引起广泛讨论. 我对教授程序设计的一点想 ...

  3. 201521123076 《Java程序设计》第6周学习总结

    1.本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图,对面向对象思想进行一个总结. 注1:关键词与内容不求多,但概念之间的联系要清晰,内容覆盖面 ...

  4. 201521123121 《Java程序设计》第4周学习总结

    1. 本周学习总结 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. 对象的封装:将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现 ...

  5. 201521123039 《java程序设计》第十周学习总结

    1. 本周学习总结 2. 书面作业 本次PTA作业题集异常.多线程 finally 题目4-2 1.1 截图你的提交结果(出现学号) 1.2 4-2中finally中捕获异常需要注意什么? 总结:需要 ...

  6. 201521123089 《Java程序设计》第13周学习总结

    1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 1.协议:网络中为了进行数据交换而建立的原则,标准或约定. 2.域名:Internet上某一台计算机的名称 ...

  7. 201521123099 《Java程序设计》第13周学习总结

    本周学习总结 书面作业 网络基础 1.1 比较ping www.baidu.com与ping cec.jmu.edu.cn,分析返回结果有何不同?为什么会有这样的不同? 1.2 telnet bbs. ...

  8. Java swing(awt):事件监听机制的实现原理+简单示例

    (1)实现原理 事件监听机制的实现: 参考图:事件模型_ActionEvent 为了节省资源,系统无法对某个事件进行实时的监听.故实现的机制是当发生某个事件后,处理代码将被自动运行,类似钩子一般.(回 ...

  9. 定位页面元素之xpath详解以及定位不到测试元素的常见问题

    一.定位元素的方法 id:首选的识别属性,W3C标准推荐为页面每一个元素设置一个独一无二的ID属性, 如果没有且很难找到唯一属性,解决方法:(1)找开发把id或者name加上.如果不行,解决思路可以是 ...

  10. Oracle存储过程 一个具体实例

    表结构信息,并不是用oracle描述的,但是后面的存储过程是针对oracle的 ----------------个人交易流水表----------------------------------- c ...