我是靠谱客的博主 优秀板栗,这篇文章主要介绍silverlight 遍历datagrid行的数据,现在分享给大家,希望可以做个参考。

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

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

复制代码
1
2
3
4
5
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控件外面加一个滚动条的控件,就可以了,代码如下:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<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内容请搜索靠谱客的其他文章。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部