我有一个应用程序显示来自数据库的结果数据。偶尔如果结果带有附加数据,我们会追加记录。在这种情况发生之前,UserControl中的值为“NA”。我在UserControl类中有一个refreshdisplay()方法,它运行得很漂亮,不幸的是,如果我在使用“new”之后从我的dataHandler类调用它,那么UserControl不会刷新。我猜这是因为我用从外部类刷新userControl
UserControlResultDisplay resultDisplay = new UserControlResultDisplay();
如何使用的方法,并与现有的用户控件不实例化一个新的互动?
下面是一些代码片段:
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
我这样做了,但关键字“新”的使用似乎在我的giddyup中造成困难。这是否打开一个新的UserControl实例,而不是使用打开的实例。调用函数不在表单中,因此该函数在UserControl打开并可见时执行。我有点新手,所以请耐心等待,并详细说明我是否离开基地。 – willkk
如果您将它作为参数传递,则不需要'new'关键字。你可以在这里发布代码吗? – BradleyDotNET