あなたはこの値を取得する方法と時期を指定できますか?
int index = dt.Rows.IndexOf(row);
をしかし、私はそれのポイントがどうなるかわからない、あなたはすでに指定された行を持っている場合は、なぜあなたはちょうどrow[columnName]
経由でPKを得ることができません。
あなたはこれを行うことができますか?
しかし、これはforループをループするだけでなく、リソースをより多く消費します。
dataGridViewにバインドする前または後にこれが必要ですか?異なるdataGridView行から値を取得する必要がある場合。あなたがそうのように選択された行を取得することができます
::あなたの編集のために
あなたが行を選択するチェックボックスを使用してのようないくつかの他の方法でそれをやっている場合
if (yourDataViewGrid.SelectedRows.Count == 1)
{
Int pk = yourDataViewGrid.Rows[yourDataViewGrid.SelectedRows[0].Index].Cells["PK"].Value.ToString();
}
、あなた
foreach (DataGridViewRow row in YourDataGridView.Rows)
{
if ((Boolean)((DataGridViewCheckBoxCell)row.Cells["CheckBoxName"]).FormattedValue)
{
Int pk = rows.Cells["PK"].Value.ToString();
}
}
ちょうど注意してください:datarowのインデックスは、あなたの特殊なケースでは多分、おそらくあなたがレコードを削除するときに異なるでしょう注文を変更することができます。 ** "指定された行の"とはどういう意味ですか?** –
データベースからデータを選択すると、データテーブルを作成する前にpkカラムも選択していませんか? – Icarus
@TimSchmelter こんにちはTim。はい、私は知っている、私が必要なのは、指定された行のPK値です。 –