zoukankan      html  css  js  c++  java
  • 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中所有行的数据,并且带有滚动条的效果。

  • 相关阅读:
    docker常规操作——启动、停止、重启容器实例
    docker同时删除多个容器
    ubuntu中使用docker部署.netcore2.1
    .NET中RabbitMQ的使用
    Java开发环境Jave EE 和 jdk 下载
    WebApi用户登录验证及服务器端用户状态存取
    MVC中使用Ninject依赖注入
    起步:SpringBoot
    ML-对偶(Duality)问题 KKT 条件
    pandas 之 多层索引
  • 原文地址:https://www.cnblogs.com/bianlan/p/2987394.html
Copyright © 2011-2022 走看看