【问题标题】:C# ListView Problem Adding ItemsC# ListView 添加项目的问题
【发布时间】:2009-05-21 20:35:02
【问题描述】:

所以,这是我的问题:为什么当第二个 sn-p 工作正常时,第一个 sn-p 中的代码不能工作。另外,我已将视图属性设置为详细信息。我已经阅读了如何将 lvi 添加到列表视图中的所有内容,并且每次都失败...除了我手动执行此操作。

所以,这行不通……

// Iterating through the rows...
for (int x = 0; x < numRows; x++) {
    row = new List<string>();
    // Iterating through the cols...
    for (int y = 0; y < numCols; y++) {
        row.Add(data[y][x]);
    }
    lv.Items.Add(new ListViewItem(row.ToArray()));
}

但这会起作用:

lv.Items.Add(new ListViewItem("foo"));

【问题讨论】:

  • 你能定义“失败”吗?另外 - 也许检查你的数组索引是否正确......
  • 在什么情况下不起作用?我刚刚在这里试了一下,效果很好。

标签: c# listview listviewitem


【解决方案1】:

row.Add(data[y][x]) 似乎很可疑。为什么要以列优先顺序访问数据,但以行优先顺序进行迭代?另外,确保row 的类型(你没有告诉我们)实际上是List&lt;string&gt;

【讨论】:

    【解决方案2】:

    ListViewItem 正在寻找 String[] 尝试将 row.ToArray() 转换为 String[]。

    【讨论】:

    • 假设该行被键入为List&lt;string&gt;(根据初始化),那么 row.ToArray() 已经是一个字符串[]
    • 由于行被声明为 List ToArray 已经作为 string[];无需投射。
    • @Fredrik - 实际上,没有显示行声明...我们可能假设它是 List...
    • 我假设基于示例中的此代码:row = new List();
    • 我刚刚用一些快速的测试数据从上面运行了代码,它工作得很好。你看到了什么错误?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多