创建组(在ListView的ListViewGroup)

正如我说了好几次,ListView控件是发展中国家在Visual Basic应用程序时,使用最多的一个。净。

今天,我要显示的方式,以获得更多的控制,也留下了很多更具吸引力创建组和使用背景图像。

例如,我们需要的形式和一个ListView。 看起来应该像下面的图片:

要显示的结果,我们需要的数据,和我在内存中创建一个DataTable,充满了四个记录。 领域的名字,姓氏,电话和地点。

我想在这个例子表明,人与他们的名字和电话号码,按位置分组名单。 首先分析下面的代码,如果你想尝试它,看到它是如何工作,然后我会解释一些事情。

昏暗DT作为新的DataTable
 dt.Columns.Add(“名称”)
 dt.Columns.Add(“名称”)
 dt.Columns.Add(“手机”)
 dt.Columns.Add(“城”)

昏暗的博士作为的DataRow = dt.NewRow

博士(“名称”)=“约翰”
博士(“名称”)=“史密斯”
博士(“电话”)=“4587-9546”
博士(“位置”)=“白痴”
 dt.Rows.Add(博士)

 DR = dt.NewRow
博士(“名称”)=“马塞洛”
博士(“名称”)=“罗兰”
博士(“电话”)=“7415-8945”
博士(“位置”)=“白痴”
 dt.Rows.Add(博士)

 DR = dt.NewRow

博士(“名称”)=“哈维尔”
博士(“名称”)=“马丁内斯”
博士(“电话”)=“4567-9654”
博士(“位置”)=“Castelar”
 dt.Rows.Add(博士)

 DR = dt.NewRow

博士(“名称”)=“埃斯特万”
博士(“名称”)=“巴斯克斯”
博士(“电话”)=“9452-4515”
博士(“位置”)=“Castelar”
 dt.Rows.Add(博士)

 ListView1.FullRowSelect =真
 ListView1.MultiSelect = FALSE

暗淡的String = String.Empty grupoActual

昏暗的G为新的ListViewGroup

作为DataRow的在dt.Rowsŕ中为每个

如果R(“城”)。的ToString <>然后grupoActual
新的ListViewGroup G =(R(“城”)。的ToString)
 grupoActual = R(“城”)。的ToString
 ListView1.Groups.Add(G)
结束如果

昏暗的项目作为新的ListViewItem(“”)
 item.SubItems.Add(R(“名称”)。的ToString)
 item.SubItems.Add(R(“姓”)。的ToString)
 item.SubItems.Add(R(“电话”)。的ToString)
 item.Group = G

 ListView1.Items.Add(项目)
未来

嗯,第一行是指DataTable的创建和填充数据,它不会评论。 专注于如何填写的ListView。

首先,我对于每个循环通过我在内存中的所有表中的记录。 然后,我创建一个文本变量(grupoActual)的保存组名(最后我加入的ListView),我也认为对象的ListViewGroup(G)。 我做的第一件事就是开始记录到指定网站(这是我想作为一个群体工作领域)ListView1的,并保持这些数据在未来比较变量grupoActual。 总是不像指出,这个项目属于组“G”,添加到ListView1的项目,并准备再充一个ListViewItem。 途经的其他记录,并进行比较,只创建一个新组时,镇的变化。

结果会看起来像这样:

现在一切看起来更好,我建议创建一个背景图像。 我想我说过,我喜欢的Photoshop,但你可以使用任何图像编辑器来创建一个在后台使用的JPG。 注意颜色不应该是很强的,因为它是difilcultará读取数据。

在这里,我离开,我在这个例子中使用的图像:

使用ListView的属性很简单,找到的BackgroundImage,然后添加图像,如下所示:

你也有改变的财产,以真正和准备BackgroundImageTiled的。 我将展示最终结果:

就是这样,我希望他们服务。

11响应“创建一个ListView(的ListViewGroup)组”

  1. Bitacoras.com 说:

    信息Bitacoras.com ...

    在Bitacoras.com率:正如我说了好几次,ListView控件是一个发展中国家在Visual Basic应用程序时,使用最多的净。 今天,我想表明一种方式来获得更多控制DEJ ...

  2. 塞萨尔说:

    另一种类型的ListView很好的例子。

    MIA的问题,我到处找之前问的是如何使群集打印此ListView的。

    谢谢

  3. 埃米利奥·拉斐尔·加西亚·里奥斯说:

    嘿,我的问题是怎么样...
    因为它走的ListView组组?

  4. 匿名说:

    你好,我想知道如何做一个ListView删除所选项目。
    谢谢。

  5. 亚历杭德罗说:

    很好的例子,我付诸实践,但我有一个问题,例如:我的团体用户模块。
    我的问题是:“正如我第二组呢?
    例如,在你的例子发表您item.group = G
    如果我也想在H组的子项目列显示?
    骨显示我的用户(组),模(另一组),然后休息。
    我很欣赏你的时间和最诚挚的问候。

  6. 基督教说:

    我可以与ACCES¿连接ListView的?
    我表明,在每列BD数据

  7. 李说:

    在最后一行= listView1.Items.Add(项目),我得到以下错误:

    不能添加或插入项“在多个站点。 必须从当前位置删除或克隆它。
    参数名称:项目。

    我测试。NET 2008年,因为这个错误是吗?

  8. 费德里科说:

    对不起,我在2008年和vb.NET探头不能正常工作。

    • 以利沙说:

      费德里科:当我做这个岗位,我做的例子使用Visual Studio 2008和他们的工作。 我劝你关注的步骤再次尝试。

      运气。

  9. 豪尔赫说:

    早上好,大家好! 想知道如何组细胞的ListView,这种控制已经不合并物业。 等待让我解释一下。

    =)

  10. 卡洛斯说:

    你好很好的贡献使我受益匪浅,
    但我想知道或能不能帮我整理各组以实施开发的项目,我通过
    事先通过

评论