データグリッドのデータ削除を不可にしたいのですが・・・。

解決


パニクリ  2003-06-03 17:08:41  No: 107398  IP: [192.*.*.*]

データグリッドのレコード削除をreadonly以外で不可能にしたいんですが(編集はできるようにしたい)、どうも方法が思いつきません。誰か教えてください(詳しく教えてもらえると助かります)!

編集 削除
Say  2003-06-04 04:37:37  No: 107399  IP: [192.*.*.*]

一通りプロパティに目を通してみたら?

編集 削除
パニクリ  2003-06-04 12:21:24  No: 107400  IP: [192.*.*.*]

.netを使ってるですがプロパティを見てもどうもそれらしきものは見当たりません。誰か分かる人いたら教えてください。

編集 削除
通りすがり  2003-06-04 15:18:41  No: 107401  IP: [192.*.*.*]

Protected Overrides Function ProcessCmdKey(ByRef msg As System.Windows.Forms.Message, ByVal keyData As System.Windows.Forms.Keys) As Boolean
        If DataGrid1.Focus = True And keyData = Keys.Delete Then
            Return True
        Else
            Return False
        End If
    End Function

こんな感じ?

編集 削除
パニクリ  2003-06-09 11:24:41  No: 107402  IP: [192.*.*.*]

通りすがりさん毎回ありがとうございます!
分からずにかれこれ一週間はまってました。
ほんと助かりました!

編集 削除
パニクリ  2003-06-09 11:34:10  No: 107403  IP: [192.*.*.*]

通りすがりさんもう一つアドバイス欲しいんですが・・・??
レコードの削除はできないけれど編集はできるようにしたいんですけど教えてもらえますか?

編集 削除
通りすがり  2003-06-09 15:15:30  No: 107404  IP: [192.*.*.*]

>レコードの削除はできないけれど編集はできるようにしたいんですけど教えてもらえますか?

データグリッド内での変更をデータベースに適用させると言うことでしょうか?

一番てっとりばやいのは・・・・

①DataAdapterの構成ウィザードで、「詳細オプション」で「Insert,Update、およびDeleteステートメントの生成」にチェックを入れる。

②DataAdapterのプロパティにInsertCommand、UpdateCommand、DeleteCommand、が生成されていること確認する。

③フォーム上に「適用」ボタンを作る。

④「適用」ボタン内コード
Try
        DataAdapter.Update(DS, "テーブル名")
Catch ex As System.Exception
        MsgBox(ex.Message)
End Try

以上です。
多分これだけでは、いろいろと問題が浮上してくるとは思いますが、あとはヘルプなり、MSDNなり、Googleなりを活用して下さい。Googleでの検索は日本のページより、海外のページの方が参考になるかと思います。自分も英語は得意じゃないのですが、無理すればなんとかなりますのでガンガって下さい!!

編集 削除
パニクリ  2003-06-09 16:41:22  No: 107405  IP: [192.*.*.*]

通りすがりさん、毎度ありがとうございます。
チャレンジしてみます!

編集 削除