可以将文本添加到现有的 ListView 子项中
Can text be added to existing ListViewSubItems
我试图在项目已添加到视图本身后填充 listView
的子项目。这一直在抛出一个错误,我不知道是因为我做错了还是无法在创建后添加到子项。
我创建了一个 windows 表单,上面有一个 listView
,非常富有想象力地命名为 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
}
}
}
}
运行 原样导致以下弹出窗口
我是否只需要重新创建所有项目,然后在向其中添加 "new" 项目之前清除 listView1
?还是这段代码可以挽救?
ListView.SubItems
collection is empty by default. You should first add sub items using for example Add
子项收集方法。然后在添加了一些子项之后,您可以在需要时使用其索引更改子项的文本。
this->listView1->Items[i]->SubItems->Add("Some text for SubItem");
此外,在处理集合中的子项时,对子项使用基于 1 的索引,因为索引 0 是拥有集合的项。
this->listView1->Items[i]->SubItems[1]->Text = "Some new text";
我试图在项目已添加到视图本身后填充 listView
的子项目。这一直在抛出一个错误,我不知道是因为我做错了还是无法在创建后添加到子项。
我创建了一个 windows 表单,上面有一个 listView
,非常富有想象力地命名为 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
}
}
}
}
运行 原样导致以下弹出窗口
我是否只需要重新创建所有项目,然后在向其中添加 "new" 项目之前清除 listView1
?还是这段代码可以挽救?
ListView.SubItems
collection is empty by default. You should first add sub items using for example Add
子项收集方法。然后在添加了一些子项之后,您可以在需要时使用其索引更改子项的文本。
this->listView1->Items[i]->SubItems->Add("Some text for SubItem");
此外,在处理集合中的子项时,对子项使用基于 1 的索引,因为索引 0 是拥有集合的项。
this->listView1->Items[i]->SubItems[1]->Text = "Some new text";