zoukankan      html  css  js  c++  java
  • ListView 中的一个低级 BUG

    /*from: http://www.cnblogs.com/Dove/archive/2008/06/26/1230549.html */

    今天在使用ListView编辑记录时,遇到问题: 在ItemEditing事件中使用EditItem属性经常为null,

            protected void ListView1_ItemEditing(object sender, ListViewEditEventArgs e)         {             ListView1.InsertItemPosition = InsertItemPosition.None;             ListView1.EditIndex = e.NewEditIndex;//e.NewEditIndex为0时,ListView1.EditItem总会为null             if (ListView1.EditItem != null)             {         //             }     }

    调试了半天才发现,只要当EditIndex=0时(即编辑第一条记录)EditItem属性总是为空 用Reflector反射ListView的EditItem查到原因代码如下:(this._editIndex > 0应该改为this._editIndex >= 0)

    public virtual ListViewItem EditItem {     get     {         if ((this._editIndex > 0&& (this._editIndex < this.Items.Count))         {             return this.Items[this._editIndex];         }         return null;     } }

    后来Google了一下,发现园子里早有朋友反映了这个BUG (第一次用ListView,就抓到BUG),可MS到目前仍未修复。。。 临时的解决方法:ListView1.Items[ListView1.EditIndex]代替ListView1.EditItem

  • 相关阅读:
    phonegap(cordova)环境配置
    Mobile Web调试工具Weinre (reproduce)
    webstorm快捷键
    学习笔记:乘性操作符之求模
    消息队列原理笔记
    运维wiki
    supervisor 文档
    redis 批量删除 keys
    linux命令和工具
    urllib urllib2学习笔记
  • 原文地址:https://www.cnblogs.com/kofkyo/p/2297312.html
Copyright © 2011-2022 走看看