有关addrange的问题,很奇怪

ghosthjt 2004-11-01 05:24:47
这样的代码错在哪里:

lvwRes=new ListView();
ColumnHeader[] tmpCols=null;
for (int i =0;i<lvwIn.Columns.Count;i++)
{
if (i ==0)
tmpCols=new ColumnHeader[1];
else
tmpCols=(ColumnHeader[])Fun.Resize(tmpCols,i+1);
tmpCols[i]=lvwIn.Columns[i];
}
lvwRes.Columns.AddRange(tmpCols); <---这步发生如下错误:

未处理的"System.ArgumentException"出现在system.windows.forms.dll 中
其它信息: 不能在多处添加或插入"入库编号".必须首先将其从当前位置移除或者将其克隆

但关键是:lvwRes都是刚刚new出来的,哪里可能在多处添加呢??

...全文
137 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhy0101 2004-11-01
  • 打赏
  • 举报
回复
不能直接添加一个与已知表关联的列,必须创建列的副本或者列不属于某个表,才能添加。添加的只能是不属于任何表的列
ghosthjt 2004-11-01
  • 打赏
  • 举报
回复
不知道是不是.net本身的BUG
因为不管从哪里看,我的代码感觉都没有问题啊!
ghosthjt 2004-11-01
  • 打赏
  • 举报
回复
不可能啊,tmpCols的{length=8}
表明是有值在里面的。
xum1983 2004-11-01
  • 打赏
  • 举报
回复
监视一下tmpCols,我感觉这个好像是未定义的值;
ghosthjt 2004-11-01
  • 打赏
  • 举报
回复
UP者都有分
ghosthjt 2004-11-01
  • 打赏
  • 举报
回复
自己UP,C#里人怎么这么少啊??

111,097

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧