흠이 값을 얻는 방법과시기를 지정할 수 있습니까?
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의 값이 아니지만 늦게 레코드를 삭제할 때 달라집니다 주문을 변경하십시오. ** 당신이 의미하는 바는 : "지정된 행"입니까? ** –
데이터베이스에서 데이터를 선택할 때 데이터 테이블을 채우기 전에 pk 열을 선택하지 않았습니까? – Icarus
@TimSchmelter 안녕하세요. 예, 알아둬야 할 것은 지정된 행의 PK 값입니다. –