问题解决了就好。不过如果不加RowHeaderCell的话,下面是另外一种思路解决你的问题。仅供参考。在想要进行Cell拷贝的时候,把Flag置成True就可以了。
- bool flag = false ; // 为True代表Copy的是Cell,为False代表Copy的是Row
- private void Form1_Load(object sender, EventArgs e)
- {
- this.gcMultiRow1.RowCount = 10;
- this.gcMultiRow1.ViewMode = GrapeCity.Win.MultiRow.ViewMode.Row;// 缺省情况下设置成Row,Copy出来的就是Row
- //下面这个事件在做Copy的时候会触发
- this.gcMultiRow1.ClipboardOperating += new EventHandler<GrapeCity.Win.MultiRow.ClipboardOperationEventArgs>(gcMultiRow1_ClipboardOperating);
- }
- void gcMultiRow1_ClipboardOperating(object sender, GrapeCity.Win.MultiRow.ClipboardOperationEventArgs e)
- {
- //这个判断表示现在用户要进行Cell拷贝
- if (flag == true && e.ClipboardOperation == GrapeCity.Win.MultiRow.ClipboardOperation.Copy)
- {
- e.Handled = true;//这个属性设置成True代表Copy操作要让用户来处理
- Clipboard.SetDataObject(this.gcMultiRow1.CurrentCell.Value.ToString());// 把CurrentCell的值塞到系统的剪贴板里
- flag = false;
- }
- }
复制代码 |