Esempio n. 1
0
        void prepare_edit(ESys.RulesRow row)
        {
            editname     = row.Имя;
            txtName.Text = row.Имя;
            IEnumerable <ESys.FactRow> facts =
                from fact in parent.es.Fact
                join lside in parent.es.LSide
                on fact.id equals lside.Fact
                where lside.Имя == editname
                select fact;

            foreach (ESys.FactRow f in facts)
            {
                dataLSide.Rows.Add(f.Переменная, f.Значение_переменной);
            }

            facts =
                from fact in parent.es.Fact
                join rside in parent.es.RSide
                on fact.id equals rside.Fact
                where rside.Имя == editname
                select fact;

            foreach (ESys.FactRow f in facts)
            {
                dataRSide.Rows.Add(f.Переменная, f.Значение_переменной);
            }
        }
Esempio n. 2
0
 public frmAddRule(frmMain par, ESys.RulesRow row, int index)
 {
     InitializeComponent();
     //variableBindingSource.DataSource = par.es.Variable;
     //clmName.DataSource = variableBindingSource;
     //clmName.DisplayMember = "Имя";
     parent  = par;
     editrow = index;
     if (editrow >= 0)
     {
         prepare_edit(row);
     }
 }
Esempio n. 3
0
        private void dataRules_DragDrop(object sender, DragEventArgs e)
        {
            // The mouse locations are relative to the screen, so they must be
            // converted to client coordinates.
            Point clientPoint = dataRules.PointToClient(new Point(e.X, e.Y));

            // Get the row index of the item the mouse is below.
            rowIndexOfItemUnderMouseToDropRule =
                dataRules.HitTest(clientPoint.X, clientPoint.Y).RowIndex;

            // If the drag operation was a move then remove and insert the row.
            if (e.Effect == DragDropEffects.Move)
            {
                DataGridViewRow row = e.Data.GetData(
                    typeof(DataGridViewRow)) as DataGridViewRow;
                ESys.RulesRow rowToMove = es.Rules.NewRulesRow();
                rowToMove.ItemArray = es.Rules[row.Index].ItemArray;

                if (row.Index < 0)
                {
                    return;
                }
                if (rowIndexOfItemUnderMouseToDropRule < 0)
                {
                    rowIndexOfItemUnderMouseToDropRule = 0;
                }
                if (rowIndexFromMouseDownRule < rowIndexOfItemUnderMouseToDropRule)
                {
                    es.Rules.Rows.RemoveAt(rowIndexFromMouseDownRule);
                    es.Rules.Rows.InsertAt(rowToMove, rowIndexOfItemUnderMouseToDropRule - 1);
                    dataRules.Update();
                }
                else if (rowIndexFromMouseDownRule > rowIndexOfItemUnderMouseToDropRule)
                {
                    es.Rules.Rows.RemoveAt(rowIndexFromMouseDownRule);
                    es.Rules.Rows.InsertAt(rowToMove, rowIndexOfItemUnderMouseToDropRule);
                    dataRules.Update();
                }
            }
        }
Esempio n. 4
0
 void add_child(TreeNode parent, TreeNode child)
 {
     ESys.RulesRow rule = es.Rules.FindByИмя(child.Text);
     child.Text = rule[0].ToString() + ": " + rule[1] + rule[2];
     parent.Nodes.Add(child);
 }