投稿時間:2003/01/09(Thu) 23:17 投稿者名:はらだ
URL :
タイトル:FlexGridにおける列の最大桁数設定について
お世話になっております。 はらだと申します。
私は現在、GrapeCity社FlexGridを使用したプログラムを作成しようとしています。 そこで、各列に対して最大桁数を指定し、”Accessのテーブルに対するセルへの直接入力”や、 ”TextBoxでのMaxLength指定”での操作イメージのように、一定桁数以上はセルへのキー入力を 受け付けないようにしたいのですが、なかなかうまくいきません。 そこで、もし知っている方がいらしたら、教えて頂けないでしょうか。(VB6.0のMSFlexGrid の場合でも構いませんので)
少し、わかりにくいかもしれませんが、サンプルコードを載せておきますので よろしくお願いいたします。 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 'セルのエディタ内でのKeyDownイベントです。(KeyPressイベントでも同じでした) 'ここで、セルのエディタ内で「1234567」と入力すると、「712345」と表示されてしまいます。 Private Sub FlexGrid_KeyDownEdit(ByVal sender As Object, ByVal e As C1.Win.C1FlexGrid.KeyEditEventArgs) _ Handles FlexGrid.KeyDownEdit 'テキストエディタ内のバイト数 Dim intByteLength As Integer = _ System.Text.Encoding.GetEncoding("Shift_JIS").GetByteCount(FlexGrid.Editor.Text) 'テキストエディタ内の文字数 Dim intLength As Integer = Len(FlexGrid.Editor.Text) '1列目の長さが6バイトを超える場合は、カットする Select Case e.Col Case 1 If intByteLength >= 6 Then FlexGrid.Editor.Text = _ Microsoft.VisualBasic.Left(FlexGrid.Editor.Text, intLength - 1) Exit Sub End If End Select End Sub
|