我认为我的循环存在一些问题。首先我考虑(i = 0和i> 1),但我不知道如何写。任何人都可以帮助我吗?
我想要的是logik //开始 =>如果i = 0,则从txtbox1复制; =>之后,比较i = 2和i = 3看是否相同。如果相同,那么从txtbox复制; => i ++直到最后,每1,2,3,4 ...将显示不同的字符串; //结束public void OnMasterColumnChanged(BCE.AutoCount.Invoicing.Sales.SalesOrder.SalesOrderMasterColumnChangedEventArgs e)
{
for (int i = 0; i < e.MasterRecord.DetailCount; i++)
{
if (i == 0)
{
e.MasterRecord.GetDetailRecord(i).YourPONo = TxtBox1.Text;
}
else if (i > 1)
{
if (e.MasterRecord.GetDetailRecord(i).YourPONo == e.MasterRecord.GetDetailRecord(i - 1).YourPONo)
{
e.MasterRecord.GetDetailRecord(i).YourPONo = TxtBox1.Text;
}
}
}
}
答案 0 :(得分:1)
我认为你想要那个:
public void OnMasterColumnChanged(BCE.AutoCount.Invoicing.Sales.SalesOrder.SalesOrderMasterColumnChangedEventArgs e)
{
if (e.MasterRecord.GetDetailRecord.Count == 0)
return;
e.MasterRecord.GetDetailRecord(0).YourPONo = TxtBox1.Text;
if (e.MasterRecord.GetDetailRecord.Count < 3)
return;
for (int i = 2; i < e.MasterRecord.DetailCount; i++)
{
if (e.MasterRecord.GetDetailRecord(i).YourPONo == e.MasterRecord.GetDetailRecord(i - 1).YourPONo)
{
e.MasterRecord.GetDetailRecord(i).YourPONo = TxtBox1.Text;
}
}
}
答案 1 :(得分:1)
如果GetDetailRecord方法返回不同输入的不同值,那么您将为GetDetailRecord传递以下不同的值并检查相等的条件。
if(e.MasterRecord.GetDetailRecord(i).YourPONo == e.MasterRecord.GetDetailRecord(i - 1).YourPONo)
在一个地方,您正在通过GetDetailRecord(i)并使用GetDetailRecord(i - 1)进行检查