6

私のアプリケーションにはListView、私が処理しているファイルが含まれており、ファイル名、長さ、ステータスの 3 つの列があります。私の for ループ内では、ファイルを次々と処理しています。この場合、 status 列をwaitからin processの値に変更したいと考えています。1つの列を変更することは可能ですか?

lvFiles は私の ListView です

for (int i = 0; i < lvFiles.Items.Count; i++)
{
    //here i am do things with my file
}

ここで、ListView にファイルを追加しています。

ListViewItem item = new ListViewItem(new string[] { new FileInfo(filePath).Name, duration, "Waiting" });
4

2 に答える 2

4

のSubItemsプロパティを使用ListViewItem:

foreach(ListViewItem item in lvFiles.Items)
    item.SubItems[2].Text = "Waiting";
于 2013-01-10T22:40:54.370 に答える
2

たとえば Address などの特定の列が colString[2] になることがわかっている場合は、次のようなことを試すことができます。

string[] colString = new string{ "Starting", "Paused", "Waiting" };
int colIndex = 0;
foreach (ColumnHeader lstViewCol in lvFiles.Columns)
{
  lstViewCol.Text = colString[colIndex];
  colIndex++;
}

単一の列の場合、3番目の列が必要だと述べた場合、次のようなことができます

lvFiles.Colunns[2] = "waiting"; 
于 2013-01-10T22:30:53.420 に答える