当在业务层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