当在业务层BLL返回IList<T>或者List<T>集合,绑定到dataGridView控件后,dataGridView控件不能删除一行,也不能在末端新增一行,真的奇怪。但用BindingList<T>就可以了,所以遇到这种需要删除、新增操作时,可以在UI中把把业务层的IList<T>转换成BindingList<T>,如:

        IList<Code> codeList = new List<Code>();
        dataGridViewCodeList.DataSource = codeList;//dataGridView的行不能增删
        dataGridViewCodeList.DataSource = 
            new BindingList<Code>(codeList);//转换为BindingList<T>后可以增删

BindingList<T>和List<T>可以相互转换的道理说明可以参照:http://www.cnblogs.com/sunrack/articles/1142085.html

相关文章: