1

データベースクエリの出力をDataGridにロードしています。

myAdapter.Fill(ds,"AllInfo");
dataGridSearchOutput.DataSource = ds.Tables["AllInfo"].DefaultView;

データグリッドコントロールが複数のレコードでいっぱいになります。データレコードの主キーが「ID」であるとします。

次に、レポートを生成します。そのためには、アイテムを選択して[レポートの生成]ボタンをクリックするか、レコードをダブルクリックする必要があります。次に、そのIDのレポートを生成する必要があります。

私の質問は、レコードのIDをどのようにキャプチャする必要があるかです。言い換えれば、datagridで選択した値を読み取る必要があります。

4

3 に答える 3

0

あなたは使用してみることができます

dataGridView1.CurrentRow.Cells["ID"].Value

見て

編集:

次に、DataGrid.CurrentRowIndexプロパティの使用を見てみましょう。

于 2010-02-14T14:59:58.703 に答える
0

これは機能しますか?クリックまたはダブルクリックのイベントハンドラーに入れます...

DataView dv = (DataView)dataGridSearchOutput.DataSource;
DataRow selectedRow = dv.ToTable().Rows[dataGridSearchOutput.CurrentRowIndex];
long id = (long)selectedRow["ID"];
于 2010-02-14T22:10:58.547 に答える
0

最も簡単で賭けのアプローチは、GridViewプロパティのDataKeyNamesをIDに設定することだと思います。そうすれば、IDを簡単に使用できます。

int index = dataGridSearchOutput.SelectedIndex;
dataGridSearchOutput.DataKeys[index].Value.ToString()

または、オブジェクトである限り変換できます。

于 2010-02-14T22:31:18.323 に答える