2011-08-02 4 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あるのDataRowで問題を抱えていますdr [6]

この行の意味は、newitem.SubItems.Add(dr [6] .ToString());

しかし、私はこの25.00

でしょういずれかの助けを借り、このような2つだけ小数点以下を表示する必要がありますか?

+0

貴重な質問+1。 – Sagotharan

答えて

1

はこれを試してみてください。

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

yopr helpのThanq。 – user682417

5

使用この:

dr[6].ToString("N2") 

更新:

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

N2は数値型で行う必要があり、そのキャストがDataRowオブジェクト上で必要です。

+0

エラーが発生しましたTo ToのNo Overloadメソッド1つの引数newitem.SubItems.Add(dr [6] .ToString( "N2")); – user682417

+0

@ user682417:うーん、おそらく博士[6]はダブルファーストにキャストする必要があります...更新の回答 –

+1

多くのおかげさまで..働いています。 – user682417

関連する問題