2009-08-13 5 views

答えて

1

経由見つかり

BoundField priceField = grid.Columns[0] as BoundField; 
priceField.DataFormatString = "{0:c}"; 
priceField.HtmlEncode = false; 
grid.DataSource = list; 
grid.DataBind(); 

DataFormatStringプロパティを設定する方法はないようです。データソースをテーブルにバインドしてから、すべてのセルを手作業でフォーマットして、フォーマットします。

DataGridView.AutoGenerateColumns = true; 
DataGridView.DataSource = dbconnection.getDataReader(); 
DataGridView.DataBind(); 

int result; 

for (int i = 0; i < DataGridView.Rows.Count; i++) 
{ 
    foreach (TableCell c in DataGridView.Rows[i].Cells) 
    { 
    if (int.TryParse(c.Text, out result)) 
    { 
     c.Text = String.Format("{0:n0}", result); 
    } 
    } 
} 

このメソッドは完全に機能します。私の推測では大丈夫だろうが、大規模なデータセットでどのようにスケールアップするかはわかりません。

1

わかりませんが、パフォーマンスが低下する可能性がありますが、RowDataBoundイベントの列書式設定を試してみてください。 もっと簡単な方法を提供できる人がいればうれしいです。

関連する問題