每个listview项目中的VB.net Forecolor

时间:2017-09-29 07:46:29

标签: vb.net listview

你可以帮我弄清楚如何在每个listview项目中加入一些forecolor吗?

我想要做的是:我想在列表视图中填充一些前景颜色就像这样

示例:

en_us

这是我的代码:

> ColumnHeader1            ColumnHeader2     ColumnHeader3
> Executive(W/Forecolor)    texttexttext     texttexttexttext
> Employee(Plain w/out FC)  texttexttext     texttexttexttext

1 个答案:

答案 0 :(得分:0)

首先应该担心的是代码的Sql Injection问题。不要使用字符串连接来构建查询文本,但始终使用参数化文本。不仅你的命令更清楚,而且黑客也无法篡改你的文本以破坏你的数据库。

二。您可以通过在两个表之间执行连接来提供有关您的评论作者级别的信息。两个表中的字段Staff_IDNo将备注中的记录链接到表中,其中包含有关备注作者级别的信息

最后,ListViewItem(ListView.Items.Add返回的对象)支持ForeColor属性,您只需在向列表视图添加项目时逐行设置颜色

 Dim loadChat As New SqlCommand("SELECT r.*, s.AccessLVL FROM RemarksConvo r
                                 JOIN StaffMember s ON s.Staff_IDNo = r.Staff_IDNo
                                 WHERE r.Application_ID = @appId
                                       AND r.Room = @room", jonsqlcon)
 loadChat.Parameters.Add("@appId", SqlDbType.NVarChar).Value = ClientAccountStatusViewer.txtClientID.Text 
 loadChat.Parameters.Add("@room", SqlDbType.NVarChar).Value = lvlStorage.Text)
 reader = loadChat.ExecuteReader
 ListView1.Items.Clear()
  Do While reader.Read
      list = ListView1.Items.Add(reader(3).ToString)
      list.ForeColor = If(reader("AccessLvl").ToString = "2", Color.Acqua, SystemColors.WindowText)
      list.SubItems.Add(reader(4).ToString)
      list.SubItems.Add(reader(5).ToString)
      list.SubItems.Add(reader(6).ToString)
 Loop