0

これに関する情報を探すのに約 3 週間を費やしましたが、うまくいきませんでした。編集に関連する DGV 設定: DGV 編集モードでは readonly は false であり、DGV ではキーストロークです。

コードはこちら: http://pastebin.com/eCv3iBcF

ただし、編集しようとしても何も起こらず、ボックスの色が選択範囲から変わるだけです。マウスはテキストを認識するように変化せず、キーストロークは何もしません。

これが何をすべきか (少なくとも私の頭の中で、ツットによると): テーブルを呼び出します。DGV を設定します。選択したフィールドをキーストロークで編集できるようにします。

4

2 に答える 2

2

問題は、BindingSource オブジェクトのデータソースを SQLDataReader オブジェクトとして設定していることです。これは読み取り専用オブジェクトです。

DataReader は、読み取り専用および転送専用に制限されています。つまり、データベースから取得した情報を DataReader で変更することも、DataReader がランダムな順序でレコードを取得することもできません。代わりに、DataReader は、最初のレコードから最後のレコードまで、一度に 1 レコードずつ順番にレコードにアクセスすることに制限されています。」

代わりに DataAdpater を使用し、DataTable に入力する必要があります。

次に、BindingSource のデータソースとして DataTable を使用します。

別の方法として、次のように DataReader でティックすることもできます:-

  using(SqlDataReader reader = command.ExecuteReader())
            {
                DataTable data = new DataTable();
                data.Load(reader);

            }

お役に立てれば。

于 2013-04-09T17:20:20.070 に答える