実行時に ASP.NET DataGridView の列またはセルの DataFormatString プロパティを設定することは可能ですか?
9351 次
3 に答える
2
これはうまくいくはずです。
BoundField priceField = grid.Columns[0] as BoundField;
priceField.DataFormatString = "{0:c}";
priceField.HtmlEncode = false;
grid.DataSource = list;
grid.DataBind();
http://geekswithblogs.net/michelotti/archive/2006/03/30/73896.aspxで見つかりました
于 2009-08-13T19:55:59.037 に答える
1
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);
}
}
}
この方法は私にとって完璧に機能します。大規模なデータセットでどのようにスケールアップするかはわかりませんが、問題ないと思います。
于 2009-08-24T21:29:18.290 に答える
1
私が知っていることではありませんが、パフォーマンスが低下する可能性がありますが、RowDataBound イベントで列の書式設定を実行してみてください。誰かがより簡単な方法を提供できれば幸いです。
于 2009-08-13T15:57:14.813 に答える