如何修改列表视图列?

时间:2011-08-02 10:41:07

标签: c# listview decimal datarow

我有列表视图,数据将显示在数据表的列表视图中 像这样我已经完成但我在datarow 6有问题

           dt = classes.xxxxx.GetData(sql, mf);

  if (dt != null)
  {
    ListViewItem newitem = null;
    lstviewcashmembers.Items.Clear();
    lstviewcashmembers.BeginUpdate();
    foreach (DataRow dr in dt.Rows)
    {
      newitem = lstviewcashmembers.Items.Add(dr[0].ToString());
      newitem.SubItems.Add(dr[1].ToString());
      newitem.SubItems.Add(dr[2].ToString());
      newitem.SubItems.Add(dr[3].ToString());
      newitem.SubItems.Add(dr[4].ToString());
      newitem.SubItems.Add(dr[5].ToString());
      newitem.SubItems.Add(dr[6].ToString());
      newitem.SubItems.Add(dr[7].ToString());
      newitem.SubItems.Add(dr[8].ToString());
      newitem.SubItems.Add(dr[9].ToString());
      newitem.SubItems.Add(dr[10].ToString());
      newitem = null;
    }

    lstviewcashmembers.EndUpdate();
  }

我的问题就像我从数据库得到的原始值是25.00000在dr [6]

我的意思是在这行newitem.SubItems.Add(dr [6] .ToString());

但我必须只显示两个小数位,例如25.00

有人会帮忙吗?

3 个答案:

答案 0 :(得分:5)

使用此:

dr[6].ToString("N2")

更新

((double)dr[6]).ToString("N2")

N2必须在数字类型上完成,因此必须在DataRow对象上进行强制转换。

答案 1 :(得分:1)

试试这个:

 string r = "1000.123456";
 var t = string.Format("{0:#.##}",decimal.Parse(r)); //1000.12

答案 2 :(得分:0)

Jason Down给出了正确答案。尝试dr [6] .ToString(“0.00”)也

并尝试阅读Standard Numeric Format StringsCustom Numeric Format Strings有关格式的更多信息。

快乐编码。