2011-08-02 52 views
3

我的列表视图中的数据将显示在列表视图中的数据表 这样我已经做了,但我的数据行有问题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在博士[6]

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

但我不得不只显示小数点后两位这样的25.00

会不会有人帮助吗?

+0

有价值的问题+1。 – Sagotharan

回答

1

试试这个:

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

Thanop为yopr帮助。 – user682417

5

使用此:

dr[6].ToString("N2") 

更新:

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

的N2必须在数字类型来完成,所以剧组需要DataRow对象上。

+0

出现错误No Over Load方法为了字符串取一个参数newitem.SubItems.Add(dr [6] .ToString(“N2”)); – user682417

+0

@ user682417:嗯,也许博士[6]必须投到一个双第一...更新回答 –

+1

非常感谢..现在它的工作.. – user682417