데이터베이스의 결과 데이터를 표시하는 응용 프로그램이 있습니다. 경우에 따라 결과에 추가 데이터가 포함되는 경우 레코드를 추가합니다. UserControl에서이 값은 "NA"가됩니다. 아름답게 작동하는 UserControl 클래스 내에 refreshdisplay() 메서드가 있습니다. 불행히도 "new"를 사용한 후에 내 dataHandler 클래스에서 호출하면 UserControl이 새로 고쳐지지 않습니다. 나는 이것을 사용했기 때문에 이것을 추측하고 있습니다.외부 클래스에서 userControl 새로 고침
UserControlResultDisplay resultDisplay = new UserControlResultDisplay();
어떻게 메소드를 사용하고 새로운 인스턴스를 만들지 않고 기존 UserControl과 상호 작용할 수 있습니까? 당신이 지적
UserControlResultDisplay resultDisplay = new UserControlResultDisplay();
public void UpdateResultDB(ResultDataJFTOT resultData)
{
AnalysisListCommon myresult = PContext.GetInstance().DbHandlerLocal.StoredResult(
resultData.SampleId,
resultData.TestDate.ToString("yyyy-MM-ddTHH:mm", CultureInfo.InvariantCulture),
resultData.InstrumentSn,
StringRepository.constStringSampleName);
if (myresult != null)
{
Result r = new Result(new Guid(myresult.ResultId));
ResultData rd = r.GetResultData("Rating", FindResultDataMode.byVariableIdentifier);
string xmlTubeRating = resultData.tRating.ToString().Replace("#LT#", "<");
rd.Text = xmlRating;
rd.Store();
rd = r.GetResultData("TestDate", FindResultDataMode.byVariableIdentifier);
rd.Text = resultData.Date.ToString();
rd.Store();
resultDisplay.RefreshDisplay();
else
{
AddTestToQueue(resultData);
}
}
생성자를 통해 기존 참조를 전달 하시겠습니까? 그게 정상적으로 어떻게 ... 그걸 막는 무언가가 빠졌습니까? – BradleyDotNET
나는 그것을했다. 그러나 키워드 "new"의 사용은 나의 giddyup에서 장애를 던지는 것처럼 보인다. 열려있는 인스턴스로 작업하는 대신 UserControl의 새 인스턴스를 엽니 다. 호출하는 함수는 폼에 없으므로 UserControl이 열려 있고 볼 수있는 동안 함수가 실행됩니다.나는 어느 정도 신인이다. 그래서 나와 떨어져서 곰을 곰곰히 생각하지 않는다. – willkk
매개 변수로 전달하면'new' 키워드가 필요 없습니다. 이 코드를 어디에 게시 할 수 있습니까? – BradleyDotNET