3

実行時に ASP.NET DataGridView の列またはセルの DataFormatString プロパティを設定することは可能ですか?

4

3 に答える 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 に答える