我有一个包含两列 Boxes 和 Files 的 ListView。我将项目添加到字符串列表中,然后使用该字符串列表填充 ListView。我想让所有 8 个字符长的项目进入 Boxes 列,所有 9 个字符的项目进入 Files 列。到目前为止,我已经尝试使用 for 循环进行迭代并使用 if else 语句来添加项目,但我似乎做错了什么。这是我当前的代码:
public void PopulateItemsList()
{
BoxAndFileList.Items.Clear();
ScanIdBox.Text = string.Empty;
for (int i = 0; i < BoxNumberRepository._boxAndFileList.Count; i++)
{
var item = BoxNumberRepository._boxAndFileList.Item[i];
if (item.Length == 8)
{
BoxAndFileList.Items.Insert(0, item);
}
else
{
BoxAndFileList.Items.Insert(1, item);
}
}
}
我正在遍历我的列表(_boxAndFileList)并尝试利用 Insert() 将项目插入列的特定索引(框为 0,文件为 1)。我可以清楚地看到 Item 是字符串列表的合法属性,但 VS 一直说该列表不包含它的定义。我该怎么做呢?而且,我还没有收到外界对这种做事方式的反馈,所以如果有更好的方法,请告诉我。
编辑:BoxNumberRepository 是一个更新名为 _boxAndFileList 的列表的类。下面的代码:
public class BoxNumberRepository : Scan_Form
{
public static List<string> _boxAndFileList = new List<string>();
public void AddItem(string item)
{
_boxAndFileList.Add(item);
}
public void Delete(string item)
{
_boxAndFileList.Remove(item);
}
public IEnumerable<string> GetAllItems()
{
return _boxAndFileList;
}
}
感谢 Alessandro D'Andria 的建议。那是正确的。但是,所有项目仍然只是添加到第一列,即使它们是 9 个字符。如何将 9 个字符项添加到第二列?