- 題名: DataGridのカンマ表示について
- 日時: 2006/10/11 11:35:42
- ID: 17860
- この記事の返信元:
- (なし)
- この記事への返信:
- [17865] Re[1]: DataGridのカンマ表示について2006/10/11 17:38:09
- ツリーを表示
,があると数字だけで構成されていないから蹴られているんですね。 そこにアルファベットを入力した場合と同じ動作です。 原因がわかれば、,をデータテーブルに書き込む時に取ってしまえばいいんです。 AddHandler clmStyle1.TextBox.Leave, AddressOf TextBox_Leave としておいて、 Private Sub TextBox_Leave(sender As Object, e As EventArgs) CType(sender, TextBox).Text = CType(sender, TextBox).Text.Replace(",", String.Empty) End Sub
■No17880に返信(もり*2さんの記事) > 「指定されたキャストは有効ではありません」と表示されてしまいます・・・。 > データ型がおかしいのでしょうか? > すみません、今回VB.NETを初めて扱い出したばかりで・・・。 実際のコードはC#で試しているので、微妙な違いが出ていますね。たぶん、Handles DG_kokyaku1.MouseUpが問題なんじゃないでしょうか? Dim dgTextBox as TextBox と宣言しておいて、 dgTextBox = clmStyle1.TextBox とします。 で、 Private Sub TextBox_MouseUp(ByVal sender As System.Object, ByVal e As MouseEventArgs) Handles dgTextBox.MouseUp CType(sender, TextBox).Text = CType(sender, TextBox).Text.Replace(",", String.Empty) ' または ' dgTextBox.Text = dgTextBox.Text.Replace(",", String.Empty) End Sub かな? (実際にコードが動くことを確認してません) それから、イベントプロシージャの名前はわかりやすい名前にした方が良いです。 MouseUpイベントプロシージャに、TextBox_Leaveという名前を付けるのは良くないです。 あと、MouseUpより、Enterイベントの方が良くないでしょうか? #全体がグレーになることから脱出できない(^^;
分類:[.NET]
はじめまして。ヘルプやネットでも調べてみたのですが、どうにも解決方法がみつからず困っています。
ご教示願います。
以下のように、テーブルスタイルを指定し、
DataGridでテーブルを表示しているのですが
開いた画面で、セルの内容を変更しようとすると、元の数値に戻ってしまいます。
対象のセルは、数値型&カンマ編集しています。
セル全体(表示されている数値すべて)を選択して変更すると、入力した値に変更されます。
部分的に削除して変更しようとすると、変更前に戻ってしまいます・・・。
なにか、テーブルスタイルの設定方法がまずいのでしょうか?
(例)・1,500→1,599と「00」の部分だけ変更しようとすると元に戻ってしまう。
・1,500を全選択後削除し、数値を入れなおすと正しく変更される。
Private Function table_style()
Dim clmStyle1 As DataGridTextBoxColumn
Dim tblStyle As DataGridTableStyle
Dim clmStyle1 As DataGridTextBoxColumn
clmStyle1 = CType(tblStyle.GridColumnStyles("引落金額"), DataGridTextBoxColumn)
clmStyle1 = New DataGridTextBoxColumn
clmStyle1.MappingName = "引落金額"
clmStyle1.HeaderText = "引落金額"
clmStyle1.Width = 105
clmStyle1.Format = "#,##0"
clmStyle1.Alignment = HorizontalAlignment.Right
tblStyle.GridColumnStyles.Add(clmStyle1)
End Function