datagridview 拖拽 换行 复制 删除 排序实现

datagridview方面的问题,我碰到了好多好多,每次解决了,下次碰到又会忘记,又得重新找和试,所以现在记下来,以便以后进行参考。

首先,第一个问题,将datagridview的属性AllowUserToAddRows 设置为False时,添加datagridview的datasouce才不会出错,否则会出现异常:datagridview 拖拽 换行 复制 删除 排序实现_第1张图片Row index provided is out of range.

首先这是个Why?


嘿嘿,不要被我上述给误导了,我刚新建了一个工程,只加了一个datagridview,设置了其datasouce,发现属性AllowUserToAddRows对datagridview的显示根本没有上述的影响,嘿嘿,所以上述的异常,是因为我程序做了其他功能时,才导致了,我妄下论断了。但是究竟是为什么,还是一点一点的挖吧。。。


最近一直在学跳舞,所以没时间弄,今天终于有了一天完整的时间,嘿嘿,开始学吧,要不,写这些有什么用。

昨天在抽空的时候,看了下virtual的使用方法,因为我想做一个窗口,让其他子窗口继承自它,不同的只是数据不一样,子窗口命名名称不一样,所以用到了virtual和override。

学习了别人的使用方法,我总结的是,在各个子类实现全一样的前提下,该方法直接在父类实现。而对于不同子类有差别的功能实现,则在父类使用virtual,然后再子类进行override,对于不同子类进行重写。


还有一个问题,就是List泛型,其实不是第一次使用泛型,但是上次看它用它的时候,还是感觉它好难好远。现在的理解是,泛型是数组的加深版本,将数据加到泛型和ArrayLis是一样的,但是取出时,泛型可以直接取出用,而ArrayLis要进行类型强制转换,才能取出使用,否则报错,错误原因为:Cannot implicitly convert type 'object' to '对象类型'. An explicit conversion exists (are you missing a cast?) 


2014年1月3日

今天看了几个拖拽,文本文档.txt格式的不支持拖拽,word支持,但是移到本身的图标应该为禁止拖拽比较好,它还是可以拖拽的显示。当然,用Microsoft Visual Studio使用拖拽,是像想象的那样,没有什么不同,就像现在这种编辑界面,也是一样的,我现在觉得这可以做成拖拽的一种标志,就应该要做成这样,同学们可以试下。


行的拖拽,今天算是实现了,可以多行直接移动,可是令我十分纠结的一点是,我怎么选多行一起进行拖拽。看别人以前程序是,右键进行多行拖拽,直接拖到另一个DataGridView,我说这很简单,因为右键点击不影响当前单元格的选中行。如果是左键,在我连续选中了多行以后,再重新按下左键准备进行拖拽,行的选中从多行变成了只按下的这一行。因为左键本身是有选择这一功能的,而右键没有。现在已经是可以移动多行了,但是拖拽太不明了,因为左键的无法选中多行,我要想怎么给它加上或者怎么样????

你可能感兴趣的:(datagridview 拖拽 换行 复制 删除 排序实现)