C#では
データベースに「###」または「##」の形式の処理時間番号データ列があります(例:「813」または「67」)
グリッドビューにバインドするときに、この形式「0。###」で表示したかった(例:「0.813」または「0.067」)
{0:0.000}やその他の書式を使用してみました。しかし、どれも機能していないようです。フォーマット文字列の書き方を教えてもらえますか?
C#では
データベースに「###」または「##」の形式の処理時間番号データ列があります(例:「813」または「67」)
グリッドビューにバインドするときに、この形式「0。###」で表示したかった(例:「0.813」または「0.067」)
{0:0.000}やその他の書式を使用してみました。しかし、どれも機能していないようです。フォーマット文字列の書き方を教えてもらえますか?
表示する前に実際に .001 を掛ける必要があります。その後、通常の{0:0.000}
書式文字列を使用できます。
何らかの理由でそれが不可能な場合{0:0\\.000}
は、「.」を使用するフォーマット文字列を使用できます。小数点としてではなく、リテラルとして。
フォーマット文字列を有効にするには、その列でHTMLエンコーディングを無効にする必要があります。
素敵な投稿、本当に助かりました。しかし、このようにする方が良いです:
try
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (((DataRowView)(e.Row.DataItem))["Columnname"].ToString().Equals("Total", StringComparison.OrdinalIgnoreCase))
{
e.Row.Font.Bold = true;
//-----or ant thing you want to do------
}
}
}
catch (Exception ex)
{
}
これは、数値スケーリング指定子として使用できる"," Custom Specifierを使用して実行できます。
数値スケーリング指定子: 明示的または暗黙的な小数点のすぐ左に 1 つ以上のコンマが指定されている場合、書式設定される数値はコンマごとに 1000 で除算されます。
あなたの例では、フォーマット文字列{0:0,.000}
を使用して 813 を としてフォーマットできます0.813
。
2 つのカンマは 1,000,000 単位でスケーリングされます。たとえば、{0:0,,.0M}
1753456 は のようにフォーマットされ1.8M
ます。
それで、あなたはこのようなものを探していますか?
String.Format("{0:0.000}", test/1000);
なんらかの理由で値をグリッドにバインドする前に値を変更できない場合は、RowDataBound イベントを処理し、数値を表示する前に 1000 で割ることができます。
// Handle the grid's RowDataBound event
MyGridView.RowDataBound += new GridViewRowEventHandler(MyGridView_RowDataBound);
// Set the value to x / 1000 in the RowDataBound event
protected void MyGridView_RowDataBound( object sender, GridViewRowEventArgs e )
{
if( e.Row.RowType != DataControlRowType.DataRow )
return;
// Cast e.Row.DataItem to whatever type you're binding to
BindingObject bindingObject = (BindingObject)e.Row.DataItem;
// Set the text of the correct column. Replace 0 with the position of the correct column
e.Row.Cells[0].Text = bindingObject.ProcessingTime / 1000M;
}
ということですか?
GridView.DataSource = ....
BoundField total = new BoundField();
total.DataField = "Total";
total.HeaderText = "Total Amount";
total.DataFormatString = "{0:C}";
donations.Columns.Add(total);
......