将两个字符串数组添加到一个ListView列

时间:2012-11-17 18:32:55

标签: c# arrays winforms listview

我试图只写一个listView(一个子项)的一列,但我想要它,所以我可以通过它运行两个数组,而不仅仅是一个数组。

当我尝试这样做时,它会将它添加到listView中的下一列(而不是我希望它写入的那一列)。

例如,这会将数组添加到不同的列,而不是所有列都添加到同一列:

 string[] k = getBetweenAll(thepage, "<h4 style=\"padding:0 0 0 3px;\"><a href=\"", "\" target=\"_blank\">");
 string[] q = getBetweenAll(thepage, "<h4><a href=\"", "\" target=\"_blank\">");
 for (int i = 0; i < k.Length && i < listViewClickbank.Items.Count; i++)
 {

     listViewClickbank.Items[i].SubItems.Add(input + k[i]);
     listViewClickbank.Items[i].SubItems.Add(input + q[i]);
 }

3 个答案:

答案 0 :(得分:1)

您的问题并不清楚您要查找的结果是什么,但是如果您希望将两个值连接在一行中的一列中,请执行以下操作:

listViewClickbank.Items[i].SubItems.Add(input + k[i] + q[i]);

答案 1 :(得分:1)

在将两个数组添加到listview之前连接它们。

var z = new string[k.Length + q.Length];
k.CopyTo(z, 0);
q.CopyTo(z, k.Length);

//TODO: Add z to the listview

或者你可以在没有连接的情况下做到这一点

 for (int i = 0; i < k.Length + q.Length; i++)
 {
     if (i < k.Length) {
         Items.SubItems.Add(input + k[i]);
     } else {
         Items.SubItems.Add(input + q[i - k.Length]);
     }
 }

答案 2 :(得分:1)

试试这个:

     string[] k = getBetweenAll(thepage, "<h4 style=\"padding:0 0 0 3px;\"><a href=\"", "\" target=\"_blank\">");
     string[] q = getBetweenAll(thepage, "<h4><a href=\"", "\" target=\"_blank\">");
     var items = listViewClickbank.Items;


     var z = new int[k.Length + q.Length]; 
     k.CopyTo(z, 0);
     q.CopyTo(z, k.Length);

     for (int i = 0; i < z.Length; i++)
     {
         Items.SubItems.Add(input + z[i]);
     }