listView
のサブアイテムに、ビュー自体にアイテムが既に追加された後に、そのサブアイテムを設定しようとしています。これは間違いを投げかけています。私が間違っているのか、それが作成された後にサブアイテムに追加することができないのかどうかはわかりません。既存のListViewSubItemsにテキストを追加することができます
という名前のWindowsフォームを作成しました。これは、非常に想像力の高いlistView1
という名前で、コンポーネントとそれに対して実行可能な可能なハッシュ関数が設定されています。
これはうまく動作し、私が望むように設定されています。ここで、ユーザーは、各コンポーネントでこれらのハッシュ関数を実行するはずのボタンをクリックし、それぞれの右側に適切なボックスを入力します。
私は各ボックスに記入することはできません。私のコード:
//Put the verification in the appropriate column, and line
//Iterate through each row until the appropriate one is found
for(int j=0;j<this->listView1->Items->Count;j++){
//When the row matches the component that was just verified, add things to that row
if(this->listView1->Items[j]->Text == response->componentID){
//Now that the row has been successfully found, find the column
for(int k=1;k<this->listView1->Columns->Count;k++){
//When the column matches the algorithm that was just ran, add the result
if(this->listView1->Columns[k]->Text == response->algorithmType.ToString()){
//****The line giving me trouble
this->listView1->Items[j]->SubItems[k]->Text = response->verifyResult;
//****End of troublesome line
}
}
}
}
私はちょうどに「新」の項目を追加する前listView1
から再び、その後明確な項目のすべてを作成する必要がありますかそれ?それとも、このコードは救済可能ですか?
なぜkは1から始まるのですか?列インデックスとサブアイテムインデックスにkが使われるのはなぜですか? –
kは0番目の列がcomponentIDなので、1から始まるので、それを見る必要はありません。私は両方のためのKを使用している(私の列の私の理解)は、サブ項目が列と一致することです。 –
@WayneO最初にサブ項目を追加する必要があります。 'SubItems'コレクションはデフォルトでは空です。 'Item.SubItems.Add(" some text ")'を使っていくつかのサブアイテムを追加しました。次に、必要に応じて索引を使用してサブアイテムのテキストを変更できます。 –