Boxes と Files の 2 つの列を持つ 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 文字であっても、すべての項目が最初の列に追加されるだけです。2 番目の列に追加する 9 個のキャラクター アイテムを取得するにはどうすればよいですか?