Exemple #1
0
        private void GridModel_ExpandedField(IFieldModel fieldModel)
        {
            FieldRow row;

            if (!ModelRowMap.TryGetValue(fieldModel.ID, out row))
            {
                XRay.LogError("Row not found for model size {0}", ModelRowMap.Count);
                return;
            }

            row.Nodes.Clear();

            SyncRows(row.Model.Nodes, row.Nodes);

            for (int i = 0; i < FieldGrid.Columns.Count; i++)
            {
                FieldGrid.AutoResizeColumn(i);
            }
        }
Exemple #2
0
        void GridModel_UpdateTree()
        {
            // if remote then function that calls this should call a diff function with this as a callback
            if (SelectedNode == null)
            {
                return;
            }

            DetailsLabel.Text = Model.DetailsLabel;

            var resizeColumns = new List <DataGridViewColumn>();

            for (int i = 0; i < Model.Columns.Count; i++)
            {
                if (FieldGrid.ColumnCount <= i)
                {
                    DataGridViewColumn col = (i == 0) ? new TreeGridColumn() : new DataGridViewTextBoxColumn();
                    resizeColumns.Add(col);
                    FieldGrid.Columns.Add(col);
                }
                FieldGrid.Columns[i].HeaderText = Model.Columns[i];
            }

            while (FieldGrid.Columns.Count > Model.Columns.Count)
            {
                FieldGrid.Columns.RemoveAt(FieldGrid.Columns.Count - 1);
            }

            SyncRows(Model.RootNodes, FieldGrid.Nodes);

            foreach (var generic in FieldGrid.Nodes.OfType <FieldRow>())
            {
                generic.Expand();
            }

            foreach (var col in resizeColumns)
            {
                FieldGrid.AutoResizeColumn(col.Index);
            }
        }