当前位置: 首页 > news >正文

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

相关文章:

  • yum失败
  • 罗技G500游戏鼠标
  • PHP获取星期的方法及代码
  • Java的IO操作(四) - SequenceInputStream类,实例:一个文件分割、合并工具
  • eclipse中默认js编辑器非常慢,尤其在拷贝粘贴代码时的解决方法
  • 禽流感注意事项
  • setTimeout,setInterval的使用小结
  • C# WF中关闭按钮的状态判定,根据用户选择执行不同的方法
  • iPhone上画圆角矩形的方法
  • CPP 插入排序
  • Android 获取网页内容
  • 系统子模块_短信命令语法设计
  • 高效能人士的七个习惯(部分)
  • 以XML为中间文档格式的Excel电子表格向SVG图转换
  • Visifire for Windows 8 v2.1.1.0 发布
  • 2018以太坊智能合约编程语言solidity的最佳IDEs
  • Codepen 每日精选(2018-3-25)
  • Debian下无root权限使用Python访问Oracle
  • es的写入过程
  • Git初体验
  • Hexo+码云+git快速搭建免费的静态Blog
  • Java IO学习笔记一
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • JavaScript设计模式系列一:工厂模式
  • Markdown 语法简单说明
  • 安卓应用性能调试和优化经验分享
  • 关于Flux,Vuex,Redux的思考
  • 回顾 Swift 多平台移植进度 #2
  • 漫谈开发设计中的一些“原则”及“设计哲学”
  • 扑朔迷离的属性和特性【彻底弄清】
  • 前端之Sass/Scss实战笔记
  • 如何合理的规划jvm性能调优
  • 设计模式 开闭原则
  • 设计模式(12)迭代器模式(讲解+应用)
  • 学习笔记:对象,原型和继承(1)
  • 移动端 h5开发相关内容总结(三)
  • 再次简单明了总结flex布局,一看就懂...
  • ​​​​​​​ubuntu16.04 fastreid训练过程
  • ​第20课 在Android Native开发中加入新的C++类
  • ​什么是bug?bug的源头在哪里?
  • #define与typedef区别
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (非本人原创)史记·柴静列传(r4笔记第65天)
  • (附源码)spring boot公选课在线选课系统 毕业设计 142011
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (附源码)基于SSM多源异构数据关联技术构建智能校园-计算机毕设 64366
  • (力扣)1314.矩阵区域和
  • (每日持续更新)jdk api之FileFilter基础、应用、实战
  • (强烈推荐)移动端音视频从零到上手(下)
  • (续)使用Django搭建一个完整的项目(Centos7+Nginx)
  • (转)四层和七层负载均衡的区别
  • (转载)深入super,看Python如何解决钻石继承难题
  • .bat批处理(五):遍历指定目录下资源文件并更新
  • .Net Core webapi RestFul 统一接口数据返回格式