[リストへもどる]
一括表示

投稿時間:2003/07/14(Mon) 02:38
投稿者名:グリッド
Eメール:
URL :
タイトル:
DataGrid内セルのSetFocus
VB6.0データグリッドについて教えてください。

データグリッド内の任意のセルの入力をチェックし、
入力エラーの場合はフォーカスを設定したいのですが、
どのようにしたらよいでしょうか?
(MSDNにはCol、Row プロパティに座標をセットして
いるのですが、FlexGridの例のようで。。。)

よろしくお願いします。

投稿時間:2003/07/14(Mon) 11:17
投稿者名:Say
Eメール:
URL :
タイトル:
Re: DataGrid内セルのSetFocus
>MSDNにはCol、Row プロパティに座標をセットしているのですが、
試してみましたか?
それでセルがActiveになるはずですが?

コントロールのフォーカスという意味なら
DataGrid1.SetFocus


ただ、入力チェックならBeforeColUpdateあたりで
やったほうがいいでしょう。

投稿時間:2003/07/14(Mon) 15:35
投稿者名:エムエム
Eメール:
URL :
タイトル:
Re^2: DataGrid内セルのSetFocus
> >MSDNにはCol、Row プロパティに座標をセットしているのですが、
> 試してみましたか?
> それでセルがActiveになるはずですが?

下記ではセルがActiveにならないのです。
For i = 0 To Rs.RecordCount - 1
    If DataGrid.Columns(2) = "AAA" Then
        Msgbox "エラーです。"

        'セットフォーカスしたい       ←ここ
        DataGrid.col = 2
        DataGrid.row = i
        Exit For    
    Endif
Next i

> ただ、入力チェックならBeforeColUpdateあたりで
> やったほうがいいでしょう。

BeforeColUpdateは、セル1つ1つにイベントが起きてしまい、
今回は、あるトリガーで一気にチェックをかけたいので
上記のようにレコードセットをまわしながら、行いたいのです。

また、何かご指摘がありましたら、よろしくお願いします。

投稿時間:2003/07/15(Tue) 17:27
投稿者名:グリッド
Eメール:
URL :
タイトル:
Re^2: DataGrid内セルのSetFocus
タイトル : Re^2: DataGrid内セルのSetFocus


> >MSDNにはCol、Row プロパティに座標をセットしているのですが、
> 試してみましたか?
> それでセルがActiveになるはずですが?

下記ではセルがActiveにならないのです。
For i = 0 To Rs.RecordCount - 1
If DataGrid.Columns(2) = "AAA" Then
Msgbox "エラーです。"

'セットフォーカスしたい  ←ここ
DataGrid.col = 2
DataGrid.row = i
Exit For
Endif
Next i

> ただ、入力チェックならBeforeColUpdateあたりで
> やったほうがいいでしょう。

BeforeColUpdateは、セル1つ1つにイベントが起きてしまい、
今回は、あるトリガーで一気にチェックをかけたいので
上記のようにレコードセットをまわしながら、行いたいのです。

また、何かご指摘がありましたら、よろしくお願いします。

投稿時間:2003/07/16(Wed) 21:06
投稿者名:Say
Eメール:
URL :
タイトル:
Re^3: DataGrid内セルのSetFocus
異なるハンドルネームでの二重投稿などという
わけのわからないことをやっているので
無視しようかとも思いましたが、ひとことだけ。

>上記のようにレコードセットをまわしながら、行いたいのです。
どこでレコードセットをまわしてます?