VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 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


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -