- PR -

DataGrid使用時のキーダウンイベント

投稿者投稿内容
小野@どっとねっとふぁん
ぬし
会議室デビュー日: 2001/10/30
投稿数: 402
投稿日時: 2003-03-28 01:43
引用:

引用:

shuさんの書き込み (2003-03-27 12:36) より:
> ここのとこですが、DataSetのほうのDefaultViewの
> AllowDeleteプロパティをfalseにしてやると
> 行削除はできなくなるようです。


Astarothさんの書き込み (2003-03-27 20:21) より:
これが・・・何故か出来てしまうんです。
プロパティの値はLoad時に変更して、直前の値まで拾ってみてるのですが、見た目上は
削除されてしまいます。DataSet上のロックだけに過ぎないのでしょうかね。
DataSetのUpdateは行っていない(自分で全部やってるので)ので、その辺は未確認なの
ですが、それ以前にDataGridの方は消えてしまうので、それで断念しました。


私が手元で試したときはDataGridから消えたりしませんでした。
何が違うのかな?
また確認してみます。
小野@どっとねっとふぁん
ぬし
会議室デビュー日: 2001/10/30
投稿数: 402
投稿日時: 2003-03-28 09:19
確認してみました。

DataSetにDataTableが一つだけある。
そのTableをDataGridのDataSourceに割り当てている。

この状態で

DataSet.Tables[0].DefaultView.AllowDelete = false;

と設定してやると設定後は行を選択した状態でDelキーを押しても
何もおきません。

#行って横一列のことでいいんですよね。。。

とっと
大ベテラン
会議室デビュー日: 2004/03/25
投稿数: 197
投稿日時: 2004-08-11 10:34
こんにちは。最後の投稿よりかなり時間が経っていますが、参考までに。

ヘルプでDataGridのKeyDownイベントについて見てみるとコントロールにフォーカスがあるときに・・・と書いてあるので、Paintイベントで行選択モードにして明示的にフォーカスをセットするとKeyDownイベントが発生しました。

Private Sub datagrid1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles datagrid1.Paint

datagrid1.Select(datagrid1.CurrentCell.RowNumber)

datagrid1.Focus()

End Sub

Private Sub datagrid1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles datagrid1.KeyDown

MessageBox.Show(CType(e.KeyCode, String))

End Sub

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