C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 176 を表示中)
■101404 / )  Re[5]: DataGridViewのセルに3桁区切りの数値にするには
□投稿者/ TAKE (11回)-(2023/02/17(Fri) 13:58:01)
No101396 (TAKE さん) に返信
> ■No101395 (魔界の仮面弁士 さん) に返信
>>■No101394 (TAKE さん) に返信
> >>セル単位で考えています。
>>
>>すべてのセルが数値型の値を持つのでしょうか。
>>
>>それとも、日付型のセルやドロップダウン選択なセルなど、いろいろな型があるのでしょうか。
>>
>>同じ列でも、行によって値の型が違うとなると、
>>列ヘッダーをクリックしてもソートはできそうにないですね。
>>
> >>そこでCellParsing イベントはあったのですが
> >>>.Value プロパティに対して型変換を実施し、ParsingApplied プロパティを True にする
> >>が今一イメージがわかりません。
>>
>>単純に書けば、たとえば
>> e.Value = CInt(e.Value) '型変換
>> e.ParsingApplied = True 'イベント内で変換処理したので True にする
>>という感じです。
>>
>>CInt などの代わりに、Decimal.TryParse や Integer.TryParse や Date.TryParse などを使うこともできます。
>>e.Value の中身が "" や Nothing や DBNull だった場合の対処も必要かも。
>>
>>
>>どのセルが処理されているのかは、e.ColumnIndex と e.RowIndex で判断してください。
>>データバインドしている場合は、列名や e.DesiredType を判断材料にすることもありますが、
>>バインドしていない場合、e.DesiredType は GetType(Object) になっていると思います。
>>https://dobon.net/vb/dotnet/datagridview/cellparsing.html
>>
>>なお、セルに不正な値を入力できないようにしたい場合は、CellValidating イベントを使えます。
>>https://dobon.net/vb/dotnet/datagridview/cellvalidating.html
>
> ご丁寧にありがとうございます。 
> >すべてのセルが数値型の値を持つのでしょうか。
>>
>>それとも、日付型のセルやドロップダウン選択なセルなど、いろいろな型があるのでしょうか。
>>すべてのセルが数値型の値を持つのでしょうか。
>  ラベル的な使い方(システムを知らない上司からの指示)で文字列はありますが、入力するところは数値です。
>
> 明日の午前中にでもやってみます。いろいろありがとうございます。感謝です。
解決済み
返信 編集キー/


管理者用

- Child Tree -