C#for循环在这里需要一些帮助 - 关闭
我认为我的循环有一些问题。首先我考虑(我= 0和我> 1),但我不知道如何写。任何人都可以帮助我?C#for循环在这里需要一些帮助 - 关闭
我想要的logik是 //开始 =>如果i = 0从txtbox1复制; =>之后,比较i = 2和i = 3看是否相同。如果相同,则从txtbox复制; => i ++直到最后,每个1,2,3,4 ...都会显示differend字符串; //结束
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;
}
}
}
}
我想你想的是:
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;
}
}
}
你必须检查'e.MasterRecord.GetDetailRecord'是否没有任何项目(和'e.MasterRecord.GetDetailRecord(0)'会抛出* exception *) –
我确实尝试过这种方式,但软件提示消息=异常来自脚本(SO.OnMasterCOlumnChanged):索引超出了数组的范围。 – ChengWan
@ChengWan尝试这个'e.MasterRecord.GetDetailRecord(0)?YourPONo = TxtBox1.Text;' –
IF GetDetailRecord方法返回不同的值不同的输入,然后你通过下面的不同值GetDetailRecord和检查等条件。
如果(e.MasterRecord.GetDetailRecord(I).YourPONo == e.MasterRecord.GetDetailRecord(I - 1).YourPONo)
在一个地方,你逝去的GetDetailRecord(i)和与GetDetailRecord检查(i - 1)
是的,我试图检查每一个与以前。这可以使它取代每个txtbox1。因为用户只更改txtbox1中的东西。 – ChengWan
你能解释一下你必须申请什么逻辑吗? –
'e.MasterRecord.GetDetailRecord(0).YourPONo = TxtBox1.Text' then'for(int i = 1; i
feeeper
你想达到什么目标,你面临的问题是什么? – Sagar