程序开发 > C# > Winform > 正文

C# listview添加行或项并设置颜色

亮术网 2013-12-07 本网原创

  需求变化万千,有的时候需要根据条件向 ListView 中动态添加行,有的时候又需要动态添加项,这就要看 ListView 以什么方式显示。直接向 ListView添加行或项都比较简单,如果要求添加并且把新添加的以不同的颜色显示,就有点麻烦,没操作过可能一时半会不知道怎么办;其实也不难,两句代码搞定。

  下面先从向已有数据的 ListView 表格中添加行开始,再介绍向已有项的 ListView 中添加项并且设置一种与其它项不同的颜色,即平常所见的反亮显示。

 

  一、C# 向listView添加行

  假如 ListView 中已经添加了某种产品的属性,字段有:产品ID、产品名称、价格、月销量和总销量,现在要继续添加行,代码实现如下(如果不懂创建和设置 ListView,请看文章后面的相关阅读):

  ListViewItem lvi = new ListViewItem();
  lvi.SubItems.Clear();
  lvi.SubItems[0].Text = "200";
  lvi.SubItems.Add("品牌电脑");
  lvi.SubItems.Add("3800");
  lvi.SubItems.Add("200");
  lvi.SubItems.Add("5000");
  lv.Items.Add(lvi);//lv 为 ListView 对象

  如果要为添加的行设置字体颜色,请看添加项后设置颜色的代码,设置方法一样。

 

 

  二、listView添加项并设置颜色(数字分页)

  在 Web 开发中,数字分页用链接标签即可;在 Winform 中,就不行了,假如用 listView 来实现数字分页,当前页要用不同颜色显示,代码如下:

  /// <summary>
  /// ListView添加项并设置颜色(数字分页)
  /// </summary>
  /// <param name="lv">ListView对象</param>
  /// <param name="startPage">开始页</param>
  /// <param name="endPage">结束页</param>
  /// <param name="currentPage">当前页</param>

  private void PageNum(ListView lv, int startPage, int endPage, int currentPage)
  {
    for (int i = startPage; i <= endPage; i++)
    {
      if (currentPage == i)
      {
        ListViewItem lvi = lv.Items.Add(i.ToString());//添加新项
        lvi.ForeColor =Color.Red;//设置字体颜色
      }
      else
        lv.Items.Add(i.ToString());
    }
  }

  上述代码并不是完整的 Winform 数字分页代码,只是作为说明向 ListView添加项并设置颜色例子之用,数字分页的实现还要复杂得多。

本文浓缩标签:listview添加行字体颜色