나는 (잘하면) 실행 및 실행 취소하기 위해 DataGridViewRow를 멤버로 사용하는 명령 클래스를 사용하고 있습니다. 들어오는 dgvr을 생성자의 멤버 행 (예 : _row = r;)에 할당하려고하면 참조를 얻는 중이고 새로운 복사본이 아닌 것으로 표시되어 실행 취소 작업을 불가능하게 만듭니다 (원본 dgvr이 삭제됨). 다음 멤버 행이 비어).값별로 복사 DataGridViewRow?
public DataGridViewRow CloneWithValues(DataGridViewRow row)
{
DataGridViewRow clonedRow = (DataGridViewRow)row.Clone();
for (Int32 index = 0; index < row.Cells.Count; index++)
{
clonedRow.Cells[index].Value = row.Cells[index].Value;
}
return clonedRow;
}
이를하지만, 내가 (이름 필드에 액세스 할 수 뒤에 스키마를 떠날 것으로 보인다 :
은 또한 아래 MSDN을 통해 "복사"행을하려했습니다 예 : _row.Cells [ "critical"]. 값).DataGridViewRow의 값으로 복사를 수행하려면 어떻게해야합니까?
DataGridView 수준에서 스키마를 가져 오지 않습니까? 다른 DataGridView 개체에서 복제 된 행을 사용하려는 경우 원본 DataGridView 개체의 복제본으로 만들면 DataGridView 개체에 스키마가 있다고 생각합니다. – Arun
당분간 난처한 해결 방법을 찾았습니다 : udpate를 완료 한 후 행을 제거하는 대신 보이지 않게하십시오. 이렇게하면 실행 취소가 필요할 때를 대비하여 데이터가 그대로 유지됩니다. – Handprint