首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我的动态创建的ListViewItems没有在ListView中显示

我的动态创建的ListViewItems没有在ListView中显示
EN

Stack Overflow用户
提问于 2012-04-03 20:10:00
回答 1查看 514关注 0票数 0

我正在动态地创建ListViewItem后代:

代码语言:javascript
复制
class Application : ListViewItem {
. . .
class LegacyApplication : Application {

我首先将这些存储在一张表中:

代码语言:javascript
复制
private List<object> legacyApps = new List<object>();

..this方式:

代码语言:javascript
复制
if (ldbc.appIsLegacy(sPathOfExe)) {
  legacyApp = new LegacyApplication(sApp, sTitle, sDesc, sIconFileName, sPathOfExe, appCategoriesForCurrentApp);
} 
legacyApps.Add(legacyApp);

然后,以...and的方式将它们添加到主表单的ListView中:

代码语言:javascript
复制
foreach (LegacyApplication LegApp in legacyApps) {
  this.listApplications.Items.Add(LegApp);
}

...but ListView不显示它们。它显示我创建的ListView组(每个ListViewItem分配给其中一个组),但不显示ListViewItems本身.

根据要求提供的信息更新:

ListViewItem后代的构造函数如下所示:

代码语言:javascript
复制
public LegacyApplication(String AAppName, String ATitle, String ADesc, String AIconFileName, String APathOfExe, List<String> ACategories) {
  base.Name = String.Format("legapplvi{0}", AAppName);
  base.Text = ATitle; // "Title" is a short description - between exe name and Description 
  base.ToolTipText = ADesc;
  base.EnsureVisible();
  // "base" above means ListViewItem; "base" below refers to our Application class*
  base.Categories = ACategories;
  base.ExePath = APathOfExe;
  base.IconFileName = AIconFileName;
}

  • ,它向ListViewItem添加以下属性:

公共字符串ExePath公共字符串IconFileName公共字符串类别公共列表类别

LegacyApplication没有向(我们的)应用程序类添加进一步的属性。

我不知道下面的回答者所说的“子项目”是什么意思-- ListViewItems是ListView组的子项,也许.?

更新未请求的信息(TMI?):

好的,我想一旦所有组都分配给ListView,我就可以这样添加列了:

代码语言:javascript
复制
for(var item in listApplications.Groups)    {
       listApplications.Columns.Add(item)    
}

...but现在,我如何向特定列中添加特定的ListViewItems?

在使其(某种程度上)工作后更新:

评论如下:

代码语言:javascript
复制
listApplications.View = View.Details;

...gets要显示的项目。然而,文本被截断,这使我在这里提出了另一个问题:

I need to display the entire Text of my ListViewItems (not truncated)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-04 08:05:35

您是否尝试先创建一个ListViewItem,然后添加到列表中,而不是使用this.listApplications.Items.Add(LegApp);

您能提供更多的代码片段详细信息吗?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10000613

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档