public static RuleInfo GetCurrentRule() { tb_Rules ruleMode = tb_Rules.FindById((int)MainForm.FilterDM.dgv.CurrentRow.Cells[0].Value); CompareParams ruleParams = new CompareParams(ruleMode.RuleCompareParams);//参数 return new RuleInfo(ruleMode.IndexSelectorNameTP, ruleMode.CompareRuleNameTP, ruleParams, ruleMode.Id, Config.GetConfig<int>("CalculateRows"), ruleMode.NeedRows); }
public static RuleInfo[] GetRuleList(object sender, EventArgs e) { List<RuleInfo> rules = new List<RuleInfo>(); DataGridView dgv = MainForm.FilterDM .dgv ; for (int rowIndex = 0; rowIndex < dgv.Rows.Count; rowIndex++) { //先得到一个tb_Rules对象,直接从数据库读取,因为是实时更新 tb_Rules ruleMode = tb_Rules.FindById((int)dgv.Rows[rowIndex].Cells[0].Value); //再根据ruleMode判断规则类别,调用相应的方法进行计算 if (ruleMode.Enable)//可用才添加 { CompareParams ruleParams = new CompareParams(ruleMode.RuleCompareParams);//参数 rules.Add(new RuleInfo(ruleMode.IndexSelectorNameTP, ruleMode.CompareRuleNameTP, ruleParams, ruleMode.Id, Config.GetConfig<int>("CalculateRows"), ruleMode.NeedRows)); } } return rules.ToArray(); }