Tag: objectlistview

c# – 在ObjectListView中更改组的颜色

在ObjectListView中构建组时,如何更改组的颜色? 在默认组中,深蓝色前景色显示为深蓝色线条。 我该怎么改变它?

ObjectListView强制转换exception(用于命中测试)

我正在使用Grammarian的ObjectListView。 我将旧的列表视图更改为了,但我所做的只是填写项目。 但是当应用程序启动并且我的鼠标位于列表视图上时,它会立即抛出exception: System.InvalidCastException was unhandled Message=”Unable to cast object of type ‘System.Windows.Forms.ListViewItem’ to type ‘BrightIdeasSoftware.OLVListItem’.” Source=”ObjectListView” 如何解决这个问题? 如果这很重要,我也使用Win7。 编辑: 我用字典。 看起来我需要使用SetObjects方法而不是添加项目。 好的,这很棒,但我只是使用dict.Value集合。 我不想通过listview修改数据,只显示。 所以我只有一列,列出了所有字符串。 这可能吗? 我很感激一个小样本。

如何过滤objectlistview的TreeListView?

我尝试使用委托文件过滤TreeListView如文档中所示: 过滤ObjectListView 所以它是这样的: this.myTree.ModelFilter = new ModelFilter(delegate(object x) { return (((MyTreeNode)x).Type == type); // this code doesn’t work, why ? }); 因此, myTree应该包含.Type属性等于type所有节点,在我的情况下树中没有节点,为什么???。 但是,如果我将.Type属性设置为根节点的类型,那么它将只是树中的一个根节点,因此在这种情况下它可以工作。 ETA:为什么使用上面的代码进行过滤不起作用?

ObjectListView – TreeListView在树结构中展开不同的列表

我尝试在树结构中扩展多个列表。 假设我有以下课程。 我有类Product,其中包含一个包含子项的列表。 这是我的实际树形结构。 class Product { int prodID; string prodName; List prodChildren; List articleList; //maybe further list… public int ProdID { get { return prodID;} set{prodID = value;} } public string ProdName { get { return prodName;} set {prodName = value;} } public Product(int id, string name) { ProdID = id; ProdName = name; […]

Objectlistview doubleclick解释

我正在尝试在objectlistview对象中实现doubleclick函数。 根据开发人员的说法,应该使用ItemActivate而不是MouseDoubleClick 。 所以我想出了这个: private void treeListView_ItemActivate(object sender, EventArgs e) { try { ListView.SelectedIndexCollection col = treeListView.SelectedIndices; MessageBox.Show(col[0].ToString()); } catch (Exception e3) { globals.logfile.error(e3.ToString()); globals.logfile.flush(); } finally { } } 为每个双击行提供一个值。 但是如何从该行获取详细信息? 这是我现在使用的整个解决方案: private void treeListView_ItemActivate(object sender, EventArgs e) { try { var se = (StructureElement)treeListView.GetItem(treeListView.SelectedIndex).RowObject; MessageBox.Show(se.id.ToString()); } catch (Exception e3) { globals.logfile.error(e3.ToString()); globals.logfile.flush(); } […]

ObjectListView将图像添加到项目/对象

我正在使用ObjectListView ,我正在尝试将图像添加到我的项目中。 我通过循环遍历所有项目然后手动编辑每个项目的图像索引来使其工作。 我想知道添加项目时是否可行。 这是我目前的代码: 添加项目 for (int i = 0; i < listName.Count; i++) { games newObject = new games(listName[i], "?"); lstvwGames.AddObject(newObject); } 添加图像 foreach (string icon in listIcon) { imglstGames.Images.Add(LoadImage(icon)); // Download, then convert to bitmap } for (int i = 0; i < lstvwGames.Items.Count; i++) { ListViewItem item = lstvwGames.Items[i]; item.ImageIndex = […]

ObjectListView – 通过单击具有固定内容/文本的指定列来删除行

我有一个简单的问题,我无法自己解决。 我有一个ObjectListView填充了我的一些对象。 但除此之外,我想要另一列,默认文本为“删除”。 单击该列时,应删除选定的行。 我怎么做?

使用ObjectListView进行自定义排序

假设我有一个包含3列的objectListView ArticleNumber | OrderNumber | Status 8080 | 123.456.789 | Delivered 80 | 456.789.101 | Pending 901 | 11.111.111 | Delivered 使用自动排序,较小的商品编号将在更大的商品编号下,因此它将排序8080,80,901或901,80,8080,但我希望最小的数字将在顶部。 在OrderNumber上也一样。 状态不起作用。 On,它只是在我按下ColumnHeader时对ArticleNumber进行排序,所以我想根据文本对Status进行排序。 我想我需要一个CustomSorter来完成那个任务,但我找不到如何使用它,我找不到一个很好的例子,OLV的食谱没有帮助我。 你有一个例子告诉我如何做到这一点?

如何在虚拟模式下向ListView添加/删除项目?

如果我在虚拟模式下使用ListView,那么,据我所知,列表视图只跟踪列表中的少量项目。 当用户滚动它时,它动态地检索它需要从虚拟列表中显示的项目。 但是如果在主列表中添加或删除了一个项目呢? 如果在列表视图显示的索引范围之外添加/删除项目,那么我将假设列表视图将在用户滚动到该索引时显示添加/缺失的项目。 它是否正确? 但是,如果在用户当前正在查看的索引范围中添加/删除项目,该怎么办? 如何触发列表视图以刷新当前正在查看的项目以显示新/缺少的项目? 仅供参考:如果有任何不同,我正在使用ObjectListView 。

Bindingsource不会暂停绑定

我有一个显示自定义详细信息的表单,其中一个部分是与客户关联的银行帐户列表。 这个列表绑定到它自己的绑定源,所以在加载客户时我做: bsCustomer.DataSource = customer; bsCustomerAccounts.DataSource = customer.Accounts; 我有一个绑定到bsCustomerAccounts的ObjectListView 。 到目前为止一切正常。 要编辑特定帐户,我双击它并打开一个单独的表单: using (var form = new CustomerAccountForm(selectedAccount)) { DialogResult result = form.ShowDialog(this); if (result == DialogResult.OK) { selectedAccount= form.Account; } } 问题是当用户单击Cancel以取消此表单中的帐户编辑时。 原始的bcCustomerAccounts以及列表仍在更新中。 我已经尝试过SuspendBinding和RaiseListChangedEvents = false但绑定源仍在更新中。 我错过了什么吗?