使用MircoModes实现RadGridview的绑定(silverlight)
来源:互联网 发布:rds sql server 编辑:程序博客网 时间:2024/06/11 14:24
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; } }
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>
完成,显示效果为:
- 使用MircoModes实现RadGridview的绑定(silverlight)
- Easy RadControl 之 RadGridView(Silverlight)
- 在Telerik for silverlight控件radtreeview、textBox、RadGridView中实现拖拉控件的操作
- WPF and Silverlight 学习笔记(二十二):使用代码实现绑定、绑定数据的验证
- Silverlight自定义依赖属性(实现RadGridView复选框全选)
- telerik:RadGridView 数据绑定
- Silverlight的数据绑定
- RadGridView
- Silverlight DataGrid内多个数据源绑定的实现办法
- SilverLight中datagrid数据绑定的简单使用
- 控制radgridview的column显示
- Silverlight Visibility 属性的绑定
- Silverlight动态添加数据模板(以RadGridView为例子)
- silverlight telerik RadGridView 列头显示其他控件
- Silverlight Telerik RadGridView动态增删行及行列操作
- 使用Silverlight实现 FLASH的动画效果
- SilverLight 5 数据绑定的高级话题(2)
- SilverLight 5 数据绑定的高级话题(1)
- 数据库连接串
- SqliteHelper类
- 一个师妹的一篇日记
- 分享8年开发经验,浅谈程序员职业规划
- SqlHelper类
- 使用MircoModes实现RadGridview的绑定(silverlight)
- eclipse下启动tomcat出现Setting property 'source' to 'org.eclipse.jst.jee.server: '错误的解决办法
- AccessHelper类
- Sqlite数据库的加密
- 随想
- Excel and Access 97-2003、2007的连接串
- SQL基础语句
- java程序员职业规划分享
- 用innerHTML给textarea的value赋值,IE下丢失换行