コード例 #1
0
        private void FillGrids()
        {
            AvailList = DisplayFields.GetAllAvailableList(Category);          //This one needs to be called repeatedly.
            gridMain.BeginUpdate();
            gridMain.ListGridColumns.Clear();
            GridColumn col;

            col = new GridColumn(Lan.g("FormDisplayFields", "FieldName"), 110);
            gridMain.ListGridColumns.Add(col);
            col = new GridColumn(Lan.g("FormDisplayFields", "New Descript"), 110);
            gridMain.ListGridColumns.Add(col);
            col = new GridColumn(Lan.g("FormDisplayFields", "Width"), 60);
            gridMain.ListGridColumns.Add(col);
            gridMain.ListGridRows.Clear();
            GridRow row;

            for (int i = 0; i < ListShowing.Count; i++)
            {
                row = new GridRow();
                row.Cells.Add(ListShowing[i].InternalName);
                row.Cells.Add(ListShowing[i].Description);
                row.Cells.Add(ListShowing[i].ColumnWidth.ToString());
                gridMain.ListGridRows.Add(row);
            }
            gridMain.EndUpdate();
            //Remove items from AvailList that are in the ListShowing.
            for (int i = 0; i < ListShowing.Count; i++)
            {
                for (int j = 0; j < AvailList.Count; j++)
                {
                    //Only removing one item from AvailList per iteration of i, so RemoveAt() is safe without going backwards.
                    if (ListShowing[i].InternalName == AvailList[j].InternalName)
                    {
                        AvailList.RemoveAt(j);
                        break;
                    }
                }
            }
            listAvailable.Items.Clear();
            for (int i = 0; i < AvailList.Count; i++)
            {
                listAvailable.Items.Add(AvailList[i]);
            }
        }
コード例 #2
0
        private void FillGrids()
        {
            gridMain.BeginUpdate();
            gridMain.Columns.Clear();
            ODGridColumn col = new ODGridColumn(Lan.g("FormDisplayFields", "FieldName"), 110);

            gridMain.Columns.Add(col);
            col = new ODGridColumn(Lan.g("FormDisplayFields", "New Descript"), 110);
            gridMain.Columns.Add(col);
            col = new ODGridColumn(Lan.g("FormDisplayFields", "Width"), 60);
            gridMain.Columns.Add(col);
            gridMain.Rows.Clear();
            ODGridRow row;

            for (int i = 0; i < ListShowing.Count; i++)
            {
                row = new ODGridRow();
                row.Cells.Add(ListShowing[i].InternalName);
                row.Cells.Add(ListShowing[i].Description);
                row.Cells.Add(ListShowing[i].ColumnWidth.ToString());
                gridMain.Rows.Add(row);
            }
            gridMain.EndUpdate();
            List <DisplayField> availList = DisplayFields.GetAllAvailableList();

            for (int i = 0; i < ListShowing.Count; i++)
            {
                for (int j = 0; j < availList.Count; j++)
                {
                    if (ListShowing[i].InternalName == availList[j].InternalName)
                    {
                        availList.RemoveAt(j);
                        break;
                    }
                }
            }
            listAvailable.Items.Clear();
            for (int i = 0; i < availList.Count; i++)
            {
                listAvailable.Items.Add(availList[i]);
            }
        }
コード例 #3
0
        private void LoadDisplayFields()
        {
            OrthoChartTabs.RefreshCache();
            OrthoChartTabLinks.RefreshCache();
            DisplayFields.RefreshCache();
            _listAllDisplayFields = DisplayFields.GetAllAvailableList(DisplayFieldCategory.OrthoChart);
            _listTabDisplayFields = new List <OrthoChartTabFields>();
            //Add all fields that are actively associated to a tab to our class wide list of tabs and fields.
            for (int i = 0; i < _listOrthoChartTabs.Count; i++)
            {
                OrthoChartTabFields orthoChartTabFields = new OrthoChartTabFields();
                orthoChartTabFields.OrthoChartTab     = _listOrthoChartTabs[i];
                orthoChartTabFields.ListDisplayFields = new List <DisplayField>();
                List <OrthoChartTabLink> listOrthoChartTabLinks = _listOrthoChartTabLinks.FindAll(
                    x => x.OrthoChartTabNum == _listOrthoChartTabs[i].OrthoChartTabNum
                    );
                listOrthoChartTabLinks.OrderBy(x => x.ItemOrder);
                foreach (OrthoChartTabLink orthoChartTabLink in listOrthoChartTabLinks)
                {
                    orthoChartTabFields.ListDisplayFields.AddRange(_listAllDisplayFields.FindAll(x => x.DisplayFieldNum == orthoChartTabLink.DisplayFieldNum));
                }
                _listTabDisplayFields.Add(orthoChartTabFields);
            }
            //Add a dummy OrthoChartTabFields object to the list that represents available fields that are not part of any tab.
            //These "display fields" were previously used at least once. A patient has info for this field, then the office removed the field from all tabs.
            List <DisplayField> listOrphanedFields = _listAllDisplayFields.FindAll(x => x.DisplayFieldNum == 0 ||
                                                                                   !OrthoChartTabLinks.GetExists(y => y.DisplayFieldNum == x.DisplayFieldNum));

            if (listOrphanedFields != null && listOrphanedFields.Count > 0)
            {
                OrthoChartTabFields orphanedFields = new OrthoChartTabFields();
                orphanedFields.OrthoChartTab     = null;          //These are fields not associated to any tab.  Purposefully use null.
                orphanedFields.ListDisplayFields = new List <DisplayField>();
                orphanedFields.ListDisplayFields.AddRange(listOrphanedFields);
                _listTabDisplayFields.Add(orphanedFields);
            }
        }