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

DataView(2):RowState

在Dataview控件开启了编辑功能后,点“编辑”链接一般来说都会改变该行为Edit状态,比如在RowDataBound这类事件中用

if (e.Row.RowState  ==  DataControlRowState.Edit)
{
 
string  a = " test " ;
}

来判断是否当前行处于Edit状态,其实这样照理说没任何问题,但是会遇到一个问题,在单数行执行上面的代码块没问题(比如1,3,5,7..行),但是双数行就不会执行(比如2,4,6..行),仔细调试跟踪+MSDN发现双数行的RowState不仅仅有"edit"状态还有"Alternate"状态,MSDN中Alternate的说明是"指示该数据控件行是交替行",难怪不得上面判断代码不执行,把他们都转换成int跟踪看看

  int  i  =  ( int )(e.Row.RowState);//单行为4,交替行为5
 
int  j  =  ( int )(DataControlRowState.Edit);//4

跟踪调试发现在交替行时候i值是5而j是4 所以上面IF语句条件判断不正确当然不会执行了,在单行时候i和j的值都为4,上面IF条件判断4==4所以执行没问题。

这里介绍一种方法不管是单行还是交替行都认为是EDIT状态:

if  ((e.Row.RowState  &  DataControlRowState.Edit)  !=   0 )

因为不管4&4还是5&4都不等于0,所以上面IF执行成功,如果要判断非edit状态,比如说刚进入dataview的时候我们可以通过

if  ((e.Row.RowState  &  DataControlRowState.Edit)  ==   0 )  
来判断,这个时候RowState的值是 Normal也就是0,自然0&4==0 上面if执行成功。

一点点学习经验,有什么不对地方还请指明。





 

 

转载于:https://www.cnblogs.com/raoqn/archive/2009/03/12/1409229.html

相关文章:

  • Spark学习笔记之相关记录
  • Js实现Repeater全选/反选 功能 终极解决方案
  • MySQL主从复制读写分离及奇怪的问题
  • SQL server 2005中新增函数及操作(ZT)
  • 智能分单算法
  • NHibernate.Search 基于Lucene.NET的全文索引
  • mail退信!
  • 在Spring中发现java.lang.ClassCastException: $Proxy1问题解析
  • (转)setTimeout 和 setInterval 的区别
  • Bing正在让Image Graphic变得更加实用、吸引人
  • 持久数据层框架设计(二)
  • 《编译原理实践与指导教程》——第1章 词法分析与语法分析
  • gtest中如何跳出当前测试案例
  • linux-image-2.6.27-7-generic_2.6.27-7.16_i386.deb 无法安装
  • 安防设备:传统与智能差异在何处?
  • 【5+】跨webview多页面 触发事件(二)
  • bootstrap创建登录注册页面
  • GDB 调试 Mysql 实战(三)优先队列排序算法中的行记录长度统计是怎么来的(上)...
  • Gradle 5.0 正式版发布
  • Magento 1.x 中文订单打印乱码
  • October CMS - 快速入门 9 Images And Galleries
  • PHP面试之三:MySQL数据库
  • SpingCloudBus整合RabbitMQ
  • 分类模型——Logistics Regression
  • 服务器从安装到部署全过程(二)
  • - 概述 - 《设计模式(极简c++版)》
  • 你真的知道 == 和 equals 的区别吗?
  • 前端临床手札——文件上传
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 深度解析利用ES6进行Promise封装总结
  • 微信小程序上拉加载:onReachBottom详解+设置触发距离
  • 一起来学SpringBoot | 第十篇:使用Spring Cache集成Redis
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • 用Python写一份独特的元宵节祝福
  • #我与Java虚拟机的故事#连载01:人在JVM,身不由己
  • #我与Java虚拟机的故事#连载11: JVM学习之路
  • (06)金属布线——为半导体注入生命的连接
  • (C语言)共用体union的用法举例
  • (附源码)springboot人体健康检测微信小程序 毕业设计 012142
  • (三)mysql_MYSQL(三)
  • (十)c52学习之旅-定时器实验
  • (数位dp) 算法竞赛入门到进阶 书本题集
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程
  • .bat批处理(七):PC端从手机内复制文件到本地
  • .NET 将多个程序集合并成单一程序集的 4+3 种方法
  • .NET 指南:抽象化实现的基类
  • .NET(C#) Internals: as a developer, .net framework in my eyes
  • .NETCORE 开发登录接口MFA谷歌多因子身份验证
  • .NET面试题(二)
  • .php结尾的域名,【php】php正则截取url中域名后的内容
  • /ThinkPHP/Library/Think/Storage/Driver/File.class.php  LINE: 48
  • /var/spool/postfix/maildrop 下有大量文件
  • [ Algorithm ] N次方算法 N Square 动态规划解决
  • [2016.7 test.5] T1
  • [20160902]rm -rf的惨案.txt