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

    今天在使用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


  • 相关阅读:
    Spring-boot 项目中使用 jackson 遇到的一个问题
    Spring Cloud 简介
    VSCode配置JAVA开发环境
    Smtp错误码
    Git遇到的问题
    对于static静态
    面向对象
    类与对象的概念
    java执行过程
    nacos安装部署
  • 原文地址:https://www.cnblogs.com/Dove/p/1230549.html
Copyright © 2011-2022 走看看