[索引页]
[源码下载]
作者:webabcd
介绍
Silverlight 2.0 详解DataGrid,绑定数据到ListBox:
AutoGenerateColumns - 是否根据数据源自动生成列
RowDetailsVisibilityMode - 显示相应的行的详细数据时所使用的显示模式
DataGrid.Columns - 手工定义DataGrid的列
DataGrid.RowDetailstemplate - 用于显示相应的行的详细数据的模板
AreRowDetailsFrozen - 是否冻结 RowDetailstemplate
GridLinesVisibility - 表格分隔线的显示方式
RowBackground - 奇数数据行背景
AlternatingRowBackground - 偶数数据行背景
IsReadOnly - 单元格是否只读
FrozenColumnCount - 表格所冻结的列的总数(从左边开始数)
SelectionMode - 行的选中模式
CanUserReorderColumns - 是否允许拖动列
CanUserResizeColumns - 是否允许改变列的宽度
CanUserSortColumns - 是否允许列的排序
VerticalGridLinesBrush - 改变表格的垂直分隔线的 Brush
HorizontalGridLinesBrush - 改变表格的水平分隔线的 Brush
HeadersVisibility - 表头(包括列头和行头)的显示方式
在线DEMO
http://www.voidcn.com/article/p-ounmxjds-tq.html
示例
SourceDataModel.cs
1、DataGrid01.xaml
OK
[源码下载]
[源码下载]
稳扎稳打Silverlight(17) - 2.0数据之详解DataGrid,详解ListBox
作者:webabcd
介绍
Silverlight 2.0 详解DataGrid,绑定数据到ListBox:
AutoGenerateColumns - 是否根据数据源自动生成列
RowDetailsVisibilityMode - 显示相应的行的详细数据时所使用的显示模式
DataGrid.Columns - 手工定义DataGrid的列
DataGrid.RowDetailstemplate - 用于显示相应的行的详细数据的模板
AreRowDetailsFrozen - 是否冻结 RowDetailstemplate
GridLinesVisibility - 表格分隔线的显示方式
RowBackground - 奇数数据行背景
AlternatingRowBackground - 偶数数据行背景
IsReadOnly - 单元格是否只读
FrozenColumnCount - 表格所冻结的列的总数(从左边开始数)
SelectionMode - 行的选中模式
CanUserReorderColumns - 是否允许拖动列
CanUserResizeColumns - 是否允许改变列的宽度
CanUserSortColumns - 是否允许列的排序
VerticalGridLinesBrush - 改变表格的垂直分隔线的 Brush
HorizontalGridLinesBrush - 改变表格的水平分隔线的 Brush
HeadersVisibility - 表头(包括列头和行头)的显示方式
在线DEMO
http://www.voidcn.com/article/p-ounmxjds-tq.html
示例
SourceDataModel.cs
SourceData.cs
1、DataGrid01.xaml
<UserControl x:Class="Silverlight20.Data.DataGrid01"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:data="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data"
xmlns:basics="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls">
<StackPanel HorizontalAlignment="Left">
<CheckBox Content="是否冻结 RowDetailstemplate" Margin="5"
Checked="chkFreezeRowDetails_Changed" Unchecked="chkFreezeRowDetails_Changed" />
<!--
AutoGenerateColumns - 是否根据数据源自动生成列。默认值为 true
RowDetailsVisibilityMode - 显示相应的行的详细数据时所使用的显示模式 [System.Windows.Controls.DataGridRowDetailsVisibilityMode枚举]
DataGridRowDetailsVisibilityMode.Collapsed - 总不显示
DataGridRowDetailsVisibilityMode.Visible - 总是显示
DataGridRowDetailsVisibilityMode.VisibleWhenSelected - 只显示选中行的详细数据。默认值
-->
<data:DataGrid x:Name="DataGrid1" Margin="5"
Width="400" Height="200"
AutoGenerateColumns="False"
>
<!--
DataGrid.Columns - 手工定义DataGrid的列
DataGridTextColumn - 该列的单元格内文本方式显示
DataGridCheckBoxColumn - 该列的单元格以复选框方式显示
DataGridTemplateColumn - 该列的单元格以自定义方式显示
DataGridTemplateColumn.CellTemplate - 显示模式下的单元格模板
DataGridTemplateColumn.CellEditingTemplate - 编辑模式下的单元格模板
-->
<data:DataGrid.Columns>
<data:DataGridTextColumn Header="姓名" Binding="{Binding Name}" />
<data:DataGridTextColumn Header="生日" Binding="{Binding DayOfBirth}" />
<data:DataGridTextColumn Header="年龄" Binding="{Binding Age}" />
<data:DataGridCheckBoxColumn Header="性别" Binding="{Binding Male}" />
<data:DataGridTemplateColumn Header="生日">
<data:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Grid>
<Rectangle Fill="Red" Margin="2" />
<TextBlock Text="{Binding DayOfBirth}" Foreground="Yellow" />
</Grid>
</DataTemplate>
</data:DataGridTemplateColumn.CellTemplate>
<data:DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<basics:DatePicker SelectedDate="{Binding DayOfBirth}" />
</DataTemplate>
</data:DataGridTemplateColumn.CellEditingTemplate>
</data:DataGridTemplateColumn>
</data:DataGrid.Columns>
<!--
DataGrid.RowDetailstemplate - 用于显示相应的行的详细数据的模板
-->
<data:DataGrid.RowDetailstemplate>
<DataTemplate>
<StackPanel Margin="5" Background="Aqua" Height="100">
<TextBlock Text="{Binding Name}" Margin="5" />
<TextBlock Text="{Binding Age}" Margin="5" />
<TextBlock Text="{Binding DayOfBirth}" Margin="5" />
</StackPanel>
</DataTemplate>
</data:DataGrid.RowDetailstemplate>
</data:DataGrid>
</StackPanel>
</UserControl>
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:data="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data"
xmlns:basics="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls">
<StackPanel HorizontalAlignment="Left">
<CheckBox Content="是否冻结 RowDetailstemplate" Margin="5"
Checked="chkFreezeRowDetails_Changed" Unchecked="chkFreezeRowDetails_Changed" />
<!--
AutoGenerateColumns - 是否根据数据源自动生成列。默认值为 true
RowDetailsVisibilityMode - 显示相应的行的详细数据时所使用的显示模式 [System.Windows.Controls.DataGridRowDetailsVisibilityMode枚举]
DataGridRowDetailsVisibilityMode.Collapsed - 总不显示
DataGridRowDetailsVisibilityMode.Visible - 总是显示
DataGridRowDetailsVisibilityMode.VisibleWhenSelected - 只显示选中行的详细数据。默认值
-->
<data:DataGrid x:Name="DataGrid1" Margin="5"
Width="400" Height="200"
AutoGenerateColumns="False"
>
<!--
DataGrid.Columns - 手工定义DataGrid的列
DataGridTextColumn - 该列的单元格内文本方式显示
DataGridCheckBoxColumn - 该列的单元格以复选框方式显示
DataGridTemplateColumn - 该列的单元格以自定义方式显示
DataGridTemplateColumn.CellTemplate - 显示模式下的单元格模板
DataGridTemplateColumn.CellEditingTemplate - 编辑模式下的单元格模板
-->
<data:DataGrid.Columns>
<data:DataGridTextColumn Header="姓名" Binding="{Binding Name}" />
<data:DataGridTextColumn Header="生日" Binding="{Binding DayOfBirth}" />
<data:DataGridTextColumn Header="年龄" Binding="{Binding Age}" />
<data:DataGridCheckBoxColumn Header="性别" Binding="{Binding Male}" />
<data:DataGridTemplateColumn Header="生日">
<data:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Grid>
<Rectangle Fill="Red" Margin="2" />
<TextBlock Text="{Binding DayOfBirth}" Foreground="Yellow" />
</Grid>
</DataTemplate>
</data:DataGridTemplateColumn.CellTemplate>
<data:DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<basics:DatePicker SelectedDate="{Binding DayOfBirth}" />
</DataTemplate>
</data:DataGridTemplateColumn.CellEditingTemplate>
</data:DataGridTemplateColumn>
</data:DataGrid.Columns>
<!--
DataGrid.RowDetailstemplate - 用于显示相应的行的详细数据的模板
-->
<data:DataGrid.RowDetailstemplate>
<DataTemplate>
<StackPanel Margin="5" Background="Aqua" Height="100">
<TextBlock Text="{Binding Name}" Margin="5" />
<TextBlock Text="{Binding Age}" Margin="5" />
<TextBlock Text="{Binding DayOfBirth}" Margin="5" />
</StackPanel>
</DataTemplate>
</data:DataGrid.RowDetailstemplate>
</data:DataGrid>
</StackPanel>
</UserControl>
DataGrid01.xaml.cs
OK
[源码下载]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。