none
Gridviewで自動生成した列の書式を設定したい RRS feed

  • 質問

  • GridviewでAutoGenerateColumns="true"とし、列を 自動生成しています。

    この時、書式を設定する為 OnRowCreatedイベント内で

    次のように行っています。

     

    If e.Row.RowType = DataControlRowType.DataRow Then
             
                For i As Int16 = 0 To e.Row.Cells.Count - 1
                    e.Row.Cells(i).BorderWidth = 1
                    e.Row.Cells(i).BorderStyle = BorderStyle.Solid
                    e.Row.Cells(i).BorderColor = Drawing.Color.Gray
                    e.Row.Cells(i).CssClass = "PR10"
                    e.Row.Cells(i).Width = 50
                Next
           
     End If

     

    数字の場合、1,234のようにカンマ付きで表示したく思っていますがその方法がわかりません。

    ご教授の程宜しくお願いします。

     

     

     

     

     

    2007年7月18日 2:13

回答

すべての返信

  • こんな感じでいけませんか?

     

    e.Row.Cells(1).Text = string.Format("{0:N0}", e.Row.Cells(1).Text)

    2007年7月18日 5:28
    モデレータ
  • 早速のご返事ありがとうございました。

    試してみましたが、エラーにはなりませんが、カンマ表示はされないようです。

     

    2007年7月18日 6:05
  • すみません。String.Formatの内のe.Row.Cells(1).Textを、TryParseなどで数値型に変換してみて下さい。
    2007年7月18日 7:07
    モデレータ
  • ありがとうございました。TryParseで変換することでできるようになりました。

    尚、GridView1_RowCreatedイベントで記述していたのを、OnRowDataBoundイベントに変更する事でできるようになりました。

     

     

    2007年7月18日 7:38