0
엔티티 데이터 소스로 바인딩 된 radgrid가 있습니다. 그 외에는 updateCommand의 코드에서 레코드를 업데이트 할 때 데이터가 그리드에서 손실되고 데이터베이스에서 레코드가 updated.please 도움말과 함께 잘 작동합니다 this.below는 레코드를 업데이트하는 코드입니다.레코드 업데이트 후 Radgrid 데이터가 비어 있습니다.
감사합니다.
protected void RadGrid1_UpdateCommand(object sender, GridCommandEventArgs e)
{
try
{
var editItem = (GridEditableItem)e.Item;
var values = _extractEpisodePrograms(editItem);
var gettingEpisodeProgramDiagnosis_ID = (int)editItem.GetDataKeyValue("EpisodeProgramDiagnosis_ID");
using (HSS_Swirl_WebEntities context = new HSS_Swirl_WebEntities())
{
var EpisodeProgramDiagnosis = context.ClientEpisodeProgramDiagnosis.First(t => t.EpisodeProgramDiagnosis_ID == gettingEpisodeProgramDiagnosis_ID);
EpisodeProgramDiagnosis.EpisodeProgram_ID = 39;
EpisodeProgramDiagnosis.ConditionOnset = (bool)values["ConditionOnset"];
EpisodeProgramDiagnosis.OtherDiagnosis = false;
EpisodeProgramDiagnosis.PrimaryDiagnosis = (bool)values["PrimaryDiagnosis"];
EpisodeProgramDiagnosis.ICD10Diagnosis_ID = 11;
var CheckingDuplicateKeys = (from p in context.ClientEpisodeProgramDiagnosis where p.EpisodeProgram_ID == EpisodeProgramDiagnosis.EpisodeProgram_ID && p.ICD10Diagnosis_ID == EpisodeProgramDiagnosis.ICD10Diagnosis_ID select p).FirstOrDefault();
if (CheckingDuplicateKeys == null)
{
context.SaveChanges();
}
else {
ShowErrorMessage("You cannot enter duplicate values for ICD10Diagnosis_ID and EpisodeProgram_ID");
}
}
}
catch (Exception ex)
{
var insertException = new CustomValidator();
insertException.IsValid = false;
insertException.ErrorMessage = (ex.InnerException != null) ? ex.InnerException.ToString() : ex.Message;
Page.Validators.Add(insertException);
}
RadGrid1.Rebind();
}