如何在listview列中显示多个列?

时间:2013-12-02 14:00:59

标签: mysql vb.net winforms listview

是否可以使用mysql.data.mysqlclient在vb.net的listview中的一行列中显示两个数据库列?

 Listview:              where in database:
 ---------------            *Firstname: John
 |  Full Name  |            *Lastname: Smith
 |_____________|
 |             |
 |  John Smith |
 |_____________|

这是我的代码:

For i = 0 To table.Rows.Count - 1
    With lvlistview
        .Items.Add(table.Rows(i)("dte"))
        With .Items(.Items.Count - 1).SubItems
            .Add(table.Rows(i)("tran_no"))
            .Add(table.Rows(i)("comp_type"))
            .Add(table.Rows(i)("status"))
            .Add(table.Rows(i)("sys_name"))
            .Add(table.Rows(i)("mod_name"))
            .Add(table.Rows(i)("err_desc"))
            .Add(table.Rows(i)("trigg"))
            .Add(table.Rows(i)("fname" . "lname")) **How i gonna combine this two database column in only one listview column**
        End With
    End With
Next

1 个答案:

答案 0 :(得分:1)

您只需将两个DB列中的值连接在一起即可。如果您使用数据绑定,最简单的解决方案是更改SQL命令,以便值由数据库引擎连接并作为单个列返回给您。但是,由于您自己添加项目,因此您可以在将项目添加到ListView之前将代码中的两列连接起来,例如:

With .Items(.Items.Count - 1).SubItems
    .Add(table.Rows(i)("tran_no"))
    .Add(table.Rows(i)("comp_type"))
    .Add(table.Rows(i)("status"))
    .Add(table.Rows(i)("sys_name"))
    .Add(table.Rows(i)("mod_name"))
    .Add(table.Rows(i)("err_desc"))
    .Add(table.Rows(i)("trigg"))
    .Add(table.Rows(i)("fname") & " " & table.Rows(i)("lname"))
End With

&字符是VB.NET中的标准字符串连接运算符。您也可以使用+运算符,但在对+运算符使用字符串时,必须更加小心类型转换。由于&运算符更安全,并且稍微更自我记录,因此它通常是字符串的首选运算符。

对于更复杂的连接,您可能还需要考虑使用String.JoinString.FormatStringBuilder类。