/// <summary> /// 变量修改触发重新检查数据 /// </summary> /// <param name="prompt">那个被修改的变量,要把修改值写回表格中</param> public void ReloadValues(PromptItem prompt) { PromptCells[prompt.RowNumber, 1].Value = prompt.PromptValue; PromptsChangedControlType.Clear(); foreach (var p in Prompts) { if (p == prompt) { continue; } string name = PromptCells[p.RowNumber, 0].Text; string value = PromptCells[p.RowNumber, 1].Text; string controlType = PromptCells[p.RowNumber, 2].Text; string helpMessage = PromptCells[p.RowNumber, 3].Text; string verifyCode = PromptCells[p.RowNumber, 4].Text; string comboString = PromptCells[p.RowNumber, 5].Text; string color = PromptCells[p.RowNumber, 7].Text; string picture = PromptCells[p.RowNumber, 9].Text; string visible = PromptCells[p.RowNumber, 10].Text; string hideInReport = PromptCells[p.RowNumber, 11].Text; string tabIndex = PromptCells[p.RowNumber, 12].Text; string calculatorIndex = PromptCells[p.RowNumber, 16].Text; //TODO:这里和之前的逻辑貌似是重叠了? //标记一下,防止循环更新导致死循环 p.IsPassive = true; p.LoadProperty(name, value, controlType, helpMessage, verifyCode, comboString, color, picture, visible, hideInReport, tabIndex, calculatorIndex); p.IsPassive = false; } ControlTypeChangedAction(PromptsChangedControlType); //ControlTypeChanged(PromptsChangedControlType); }
public void RecordControlTypeChange(PromptItem prompt) { PromptsChangedControlType.Add(prompt); }