none
手入力する場合のDataGridViewCellStyleのFormatに関して RRS feed

  • 質問

  •  DateGridViewのFormatに関してですが 通貨などに設定して プログラムから入力する場合は 設定通りにフォーマットされるのですが 手入力すると反映されません

     手入力の場合でも反映するようにするには 何か設定がありますか?

    2006年8月24日 4:22

回答

  • データテーブルをバインドした場合は、自動的にカラムのValueTypeが設定されるため、私の方ではうまく行っていたようです。
    そうではない場合は、自分で設定してあげる必要があるようで、例えば

    Column1.ValueType = = GetType(Int32)

    のようにしてあげれば良いと思います。

    2006年8月24日 10:18
    モデレータ
  • trapemiya さん ありがとうございます

     trapemiya さんからの引用

    データテーブルをバインドした場合は、自動的にカラムのValueTypeが設定されるため、私の方ではうまく行っていたようです。
    そうではない場合は、自分で設定してあげる必要があるようで、例えば

    Column1.ValueType = GetType(Int32)

    のようにしてあげれば良いと思います。

    Column1.ValueType = GetType(Int32)

    そのままで いけました

    感謝いたします。

    2006年8月24日 11:47

すべての返信

  • どのように設定されているのでしょうか?
    例えば、次のように設定した場合、手入力でもちゃんと通貨表示されましたよ。

    hogeDataGridViewTextBoxColumn.DefaultCellStyle.Format = "C"

    2006年8月24日 4:58
    モデレータ
  •  trapemiya さんからの引用

    どのように設定されているのでしょうか?
    例えば、次のように設定した場合、手入力でもちゃんと通貨表示されましたよ。

    hogeDataGridViewTextBoxColumn.DefaultCellStyle.Format = "C"

    うまくいけましたか?

    Column1.DefaultCellStyle.Format = "C"

    これで いいんですよね

    なぜか これだと 手入力では そのままの状態で

       Dim b As Integer = View1(0, 0).Value

            View1(0, 0).Value = b

    こんな風に integerとして入力し直すとちゃんと表示されます

    逆に 

             Dim b As String

             View1(0, 0).Value = b

    と Stringとして入力されると表示されません

    手入力のときは Stringとして扱われてるのでしょうか? 

    もしそうだとしたら手入力時に入力された値をIntegerとして認識させる設定はあったでしょうか?

     

     

     

    2006年8月24日 9:23
  • データテーブルをバインドした場合は、自動的にカラムのValueTypeが設定されるため、私の方ではうまく行っていたようです。
    そうではない場合は、自分で設定してあげる必要があるようで、例えば

    Column1.ValueType = = GetType(Int32)

    のようにしてあげれば良いと思います。

    2006年8月24日 10:18
    モデレータ
  • trapemiya さん ありがとうございます

     trapemiya さんからの引用

    データテーブルをバインドした場合は、自動的にカラムのValueTypeが設定されるため、私の方ではうまく行っていたようです。
    そうではない場合は、自分で設定してあげる必要があるようで、例えば

    Column1.ValueType = GetType(Int32)

    のようにしてあげれば良いと思います。

    Column1.ValueType = GetType(Int32)

    そのままで いけました

    感謝いたします。

    2006年8月24日 11:47