我的目的是简单地将英尺转换为米。您能否提供有用的建议来填充“米”栏?编写以下代码以在Visual Studio 2008 C ++中的listview中显示两列:
//Show details
listView1->View = View::Details;
//Allow the user to change text
listView1->LabelEdit = true;
listView1->GridLines = true;
//Add 2 columns and 2 rows
listView1->Columns->Insert(0,"Feet",150, HorizontalAlignment::Center);
listView1->Items->Insert(0, "50");
listView1->Items->Insert(1, "20");
listView1->Columns->Insert(1,"Meters", 150, HorizontalAlignment::Center);
listView1->Items->Insert(0, "15.24");
listView1->Items->Insert(1, "6.10");
listView1中的错误输出是:
Feet Meters
15.24
6.10
50
20
listView1中的输出应该是什么样子:
Feet Meters
50 15.24
20 6.10
我确信我错过了一些简单的事情。感谢您提供的任何帮助:)
答案 0 :(得分:3)
详细信息模式下的列表视图将列映射为每个项目的子项。第一列显示项目文本本身,另一列使用其子项目。所以代码可以是:
listview1->Columns->Add("Feet", 150, HorizontalAlignment::Center);
listview1->Columns->Add("Meters", 150, HorizontalAlignment::Center);
listview1->Items->Add("50"); // this will be shown in column Feet
listview1->Items[0]->SubItems->Add("20"); // this will be shown in column Meters
listview1->Items->Add("15.24");
listview1->Items[1]->SubItems->Add("6.10");
注意:我使用“添加”方法而不是“插入”,因为在这种情况下,项目和列的顺序无关紧要。我认为它比“插入”更方便。
我希望这对你有所帮助。