사용자가 편집 할 수있는 창에 바인딩 된 속성으로 수신이라는 클래스가 있습니다. 이 클래스에는 dataGrid에 바인딩 된 ReceivingDetails라는 관찰 가능한 컬렉션이 있습니다. ReceivingDetails는 추가 및 편집 할 수있는 텍스트 상자에 바인딩됩니다. 내가 항목을 추가해야하는 경우관찰 가능한 컬렉션에서 항목을 제거하고 나중에 삭제하십시오.
, 그것은 간단하다 : 사용자가 SAVE 딸깍 소리가 날 때까지
theReceiving.ReceivingDetails.Add(new ReceivingDetails());
아무것도 저장되지 않습니다. 그 일이 발생하면 부모와 자식에 대해 더러운 지 확인하고 TRANSACTION을 작성한 다음 커밋합니다. 모두 실패로 돌아 가기를 바란다. 훌륭한 ...
이제 세부 정보도 삭제해야합니다. 바인딩을 사라지게 표시하지만 SAVE까지 실제로 항목을 삭제하지 않도록 항목을 제거하는 것에서 머리를 감싸려고합니다.
단순히 컬렉션에서 제거하면 제거 할 수 없으며 물리적으로 삭제할 수 없습니다.
observablecollection에서 제거하고 "삭제 된 세부 정보"목록에 저장하는 특수 Receiving.DeleteDetail() 메서드를 작성하려고합니다. 수신이 저장되면 루프를 통해 "삭제 된 세부 정보"목록 및 SP를 실행하여 실제로 삭제하십시오.
나는 궤도에있다, 또는 이것을하는 더 좋은 방법이 있습니까? 감사!
UPDATE - 코드 중 일부는 다음 datagri에 대한
XAML. 그것은 Receiving 내의 관찰 할 수있는 콜렉션에 묶여 있음을 주목하라. thrReceiving은 윈도우의 PublicProperty입니다.
private ObservableCollection<ReceivingDetail> _ReceivingDetails;
/// <summary>
/// A List of the associated Shipment Details
/// </summary>
public ObservableCollection<ReceivingDetail> ReceivingDetails
{
get { return _ReceivingDetails; }
set { _ReceivingDetails = value;
RaisePropertyChanged();
}
}
나는 그 조금 도움이되기를 바랍니다 ...
안녕하세요 pStan, 더 많은 코드를 게시 할 수 있습니까? 하드 당신이 문제를 주위에 머리를 감싸고, 내게 문제가 무엇인지 내 머리를 감싸는 것은 어렵다 : – bas
일부 코드를 추가 ... – pStan