2

データベースにリンクされていないデータセットのデータを編集しようとしています (1 行の列の値を変更します)。私は約1時間グーグルで検索しましたが、結果も良い例もありません。うまくいけば、誰かが私を助けることができます。

私のテーブル (DataTable1) には、ThreadID (文字列、PK)、StatusText (文字列) の列があります。

DataGridView で行を選択し、ThreadID 値を取得できます。関連するデータセットの行をどのように編集しようとしても、何も起こらないか、エラーが発生します。これが私が今持っているものです:

string sThreadID = "";
sThreadID = gridThreads.Rows[gridThreads.CurrentRow.Index].Cells["ID"].Value.ToString();  // gives me a good id, which is in the dataset
DataRow drRow = dataThreads.Tables["DataTable1"].Rows.Find(sThreadID);
drRow["StatusText"] = "Test";

行(3行目)を取得するときに表示されるエラーは、「オブジェクト参照がオブジェクトのインスタンスに設定されていません。」です。(私の調査によると) パブリック コンストラクターがないため、新しい DataRow オブジェクトを作成できません。

何か基本的なことが欠けていると確信していますが、データセットの操作に慣れていません。私は何を間違っていますか?ご協力いただきありがとうございます。

4

2 に答える 2

0

それは起こりますか、dataThreadsそれともそうTables["DataTable1"]ですnullか?

新しい行を作成するNewRow()には、データテーブルのメソッドを使用します。

于 2010-08-14T04:56:50.840 に答える
0

drRow は「statusText」が何であるかをどのように認識しますか? 浅いコピーしか取得していない可能性があります。クローン作成/コピーを試して、行のデータ型もコピーされるようにしてください。ただのアイデア。

于 2010-08-14T06:06:04.377 に答える