예제 #1
0
 internal static void InitializeGridRules()
 {
     try
     {
         GridRules = Dialogs.LoadGridRules(GetGridRulesDefaultFile());
     }
     catch
     {
         GridRules = new GridRuleCollection();
     }
 }
예제 #2
0
        private static void ApplyGridRules(DataGridView grd)
        {
            GridRuleCollection rules = Program.GridRules;
            GridRuleCollection rls   = rules.GetRulesFor(grd.GetType().Name, null, null);

            foreach (DataGridViewRow row in grd.Rows)
            {
                GridRule gr = GetRuleApplicableForRow(rls, grd, row);
                if (gr == null)
                {
                    SetRowBackColor(row, grd.DefaultCellStyle.BackColor);
                }
                else
                {
                    SetRowBackColor(row, gr.Color);
                }
            }
        }
예제 #3
0
        private static GridRule GetRuleApplicableForRow(GridRuleCollection rls, DataGridView grd, DataGridViewRow row)
        {
            GridRule ret = null;

            foreach (var rule in rls)
            {
                DataGridViewColumn column = GetColumnForRule(grd, rule);
                if (column == null)
                {
                    continue;
                }

                object ruleValue = rule.Value;
                object cellValue = row.Cells[column.Index].Value;

                if (DoValuesMatch(rule, cellValue))
                {
                    ret = rule;
                    break;
                }
            }

            return(ret);
        }
예제 #4
0
 internal void Init(GridRuleCollection gridRuleCollection)
 {
     this.gridRuleBindingSource.DataSource = gridRuleCollection;
 }