找回密码
 立即注册

QQ登录

只需一步,快速开始

zhaozimingT

高级会员

38

主题

207

帖子

1284

积分

高级会员

积分
1284
zhaozimingT
高级会员   /  发表于:2016-8-15 18:44  /   查看:3054  /  回复:3
blob624550475.png
spread winform 如何 自动增行,((粘贴数据不会有部分显示不出来,绑定数据可以根据数据量自动增行)
能够像excel 可以自动控制行数,不至于显示不出来或数组越界而报错

3 个回复

倒序浏览
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-8-16 10:28:12
推荐
在 ClipboardPasting  中获取,然后添加行

  1.             fpSpread1.ClipboardPasting += FpSpread1_ClipboardPasting;
  2.         }

  3.         private void FpSpread1_ClipboardPasting(object sender, ClipboardPastingEventArgs e)
  4.         {
  5.             IDataObject data = Clipboard.GetDataObject();
  6.             string clipText = string.Empty;
  7.             if (data.GetDataPresent(DataFormats.StringFormat))
  8.                 clipText = (string)data.GetData(DataFormats.StringFormat);
  9.             else if (data.GetDataPresent(DataFormats.UnicodeText))
  10.                 clipText = (string)data.GetData(DataFormats.UnicodeText);
  11.             else if (data.GetDataPresent(DataFormats.OemText))
  12.                 clipText = (string)data.GetData(DataFormats.OemText);
  13.             else if (data.GetDataPresent(DataFormats.Text))
  14.                 clipText = (string)data.GetData(DataFormats.Text);
  15.             if (clipText != string.Empty)
  16.             {
  17.                 string[] rows = clipText.Split(new string[] { "\r\n" }, StringSplitOptions.None);
  18.                 int rowCount = rows.Length - 1;
  19.                 if (rowCount > 0)
  20.                 {
  21.                     var actRow = fpSpread1.ActiveSheet.ActiveRow.Index;
  22.                     if (actRow + rowCount > fpSpread1.ActiveSheet.RowCount)
  23.                     {
  24.                         fpSpread1.ActiveSheet.AddRows(fpSpread1.ActiveSheet.RowCount, actRow + rowCount - fpSpread1.ActiveSheet.RowCount);
  25.                     }
  26.                 }
  27.             }
  28.         }
复制代码

评分

参与人数 1满意度 +5 收起 理由
zhaozimingT + 5 很给力!

查看全部评分

回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-8-16 09:45:33
沙发
您可以通过设置RowCount初始化需要的行数,或者在操作中通过AddRows的方法动态添加需要的行数。这些您都是可以在程序中控制的。
回复 使用道具 举报
zhaozimingT
高级会员   /  发表于:2016-8-16 09:56:59
板凳
但是如果我只有三行了,我复制五行数据粘贴,结果只会粘贴三行。怎么处理,或者怎么知道我复制了多少行数据。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部