- PR -

DataGridViewで表示形式の指定

1
投稿者投稿内容
ヤマッコ
常連さん
会議室デビュー日: 2006/06/21
投稿数: 31
投稿日時: 2006-07-13 13:44
お世話になります。

DataGridViewで、表示形式の指定が上手くいきません。
下記の表示形式を再現したいのですが、どのようにすれば良いか
ヒントを頂けないですか?

日付1: mm/dd 例:20060506

05/06 と表示したい(データは、20060506)

日付2: yyyy/mm/dd 例:20060506

2006/05/06 と表示したい(データは、20060506)

かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2006-07-13 13:58
引用:

ヤマッコさんの書き込み (2006-07-13 13:44) より:

日付1: mm/dd 例:20060506

05/06 と表示したい(データは、20060506)

日付2: yyyy/mm/dd 例:20060506

2006/05/06 と表示したい(データは、20060506)


データは何型ですか?
DateTime なら FormatString プロパティを使えばいいかな
ヤマッコ
常連さん
会議室デビュー日: 2006/06/21
投稿数: 31
投稿日時: 2006-07-13 14:00
かるあさん

返信ありがとうございます。

データ型は、文字列になります。
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2006-07-13 14:06
引用:

ヤマッコさんの書き込み (2006-07-13 14:00) より:

データ型は、文字列になります。


だとしたら、subString() で編集して格納するか、
DateTime.ParseExact() で DateTime に変換してから
FormatString を設定すれば出来そうですね
ヤマッコ
常連さん
会議室デビュー日: 2006/06/21
投稿数: 31
投稿日時: 2006-07-13 14:10
かるあさん

ヒントをありがとうございました!
早速、教えて頂いた方法で実践してみます。

ヤマッコ
常連さん
会議室デビュー日: 2006/06/21
投稿数: 31
投稿日時: 2006-07-13 15:04
表示形式の新しい質問です。

下記のソースを実行しています。


Sub DgrMeisai_CellLeave


editDate = DgrMeisai.Item(currentCol, currentRow).EditedFormattedValue
If subCtl.KAISITM_Input(editDate) = True Then
DgrMeisai.Item(currentCol, currentRow).Value = editDate
Else
Exit Sub
End If


End Sub

まず、データグリッドビューのセルがリーブされたら、editDateに入力した値
を入れます。
それを、関数に渡して編集を行い、正常終了したらセルに値を入れます。

デバックモードで調べた結果、CellLeaveの関数の中では編集された
値がセルに入っているのですが、その関数が終わると
編集前の値に戻ります。

何故、このような現象がおこるのでしょうか?
ぶさいくろう
ぬし
会議室デビュー日: 2005/11/22
投稿数: 1232
お住まい・勤務地: 川崎市(は俺も含めてロクな人間が住んでないよw)
投稿日時: 2006-07-13 15:14
新しい質問?別スレッドでしたら?
1

スキルアップ/キャリアアップ(JOB@IT)