我是靠谱客的博主 优秀板栗,最近开发中收集的这篇文章主要介绍silverlight 遍历datagrid行的数据,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

silverlight遍历datagrid,从而获取datagrid中模板列里的控件对象,选中所有行或者做其他操作。

刚开始就找到了一个遍历的方法,如下代码:

foreach (object obj in dg.ItemsSource)
{
CheckBox cb1 = dg.Columns[0].GetCellContent(obj).FindName("ck") as CheckBox;
cb1.IsChecked = true;
}

其中dg为DataGrid的name值,这样成功了,获取到了每一行的控件,但是一旦datagrid数据多的时候,datagrid自带的滚动条出现了,这时候遍历就出现问题了,只能遍历到页面上呈现的数据行里的控件;而页面不呈现的数据行的控件和数据却取不到。网上查了下,发现如下解决方法。

解决办法:禁用掉datagrid自己的滚动条,在datagrid控件外面加一个滚动条的控件,就可以了,代码如下:

<ScrollViewer Grid.Row="3" VerticalScrollBarVisibility="Auto" Margin="5,5,5,5" HorizontalScrollBarVisibility="Disabled" Height="auto" BorderBrush="#FFFDFAF8">
<sdk:DataGrid
Name="SeriesValueDataGrid" Margin="0"
RowDetailsVisibilityMode="VisibleWhenSelected"
VerticalScrollBarVisibility="Disabled"
AutoGenerateColumns="False">
<sdk:DataGrid.Columns>
<sdk:DataGridTemplateColumn Header="Include">
<sdk:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" VerticalAlignment="Center">
<CheckBox IsChecked="True" Name="ck"></CheckBox>
</StackPanel>
</DataTemplate>
</sdk:DataGridTemplateColumn.CellTemplate>
</sdk:DataGridTemplateColumn>
<sdk:DataGridTextColumn Header="Value" Binding="{Binding DisplayName}"></sdk:DataGridTextColumn>
</sdk:DataGrid.Columns>
</sdk:DataGrid>
</ScrollViewer>

这样就达到了实现选中DataGrid中所有行的数据,并且带有滚动条的效果。

转载于:https://www.cnblogs.com/bianlan/archive/2013/03/28/2987394.html

最后

以上就是优秀板栗为你收集整理的silverlight 遍历datagrid行的数据的全部内容,希望文章能够帮你解决silverlight 遍历datagrid行的数据所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(72)

评论列表共有 0 条评论

立即
投稿
返回
顶部