Esempio n. 1
0
        private void FillGrid(bool isExact)
        {
            Cursor = Cursors.WaitCursor;
            rxList = RxNorms.GetListByCodeOrDesc(textCode.Text, isExact, checkIgnore.Checked);
            List <string> listMedicationRxCuis = Medications.GetWhere(x => x.RxCui != 0).Select(x => x.RxCui.ToString()).Distinct().ToList();
            List <string> listMedPatRxCuis     = MedicationPats.GetForRxCuis(rxList.Select(x => x.RxCui).ToList()).Select(x => x.RxCui.ToString()).ToList();

            gridMain.BeginUpdate();
            gridMain.ListGridColumns.Clear();
            GridColumn col = new GridColumn(Lan.g("FormRxNorms", "Code"), 80);

            gridMain.ListGridColumns.Add(col);
            col = new GridColumn(Lan.g("FormRxNorms", "InMedList"), 60, HorizontalAlignment.Center);
            gridMain.ListGridColumns.Add(col);
            col = new GridColumn(Lan.g("FormRxNorms", "MedCount"), 60, HorizontalAlignment.Center);
            gridMain.ListGridColumns.Add(col);
            col = new GridColumn(Lan.g("FormRxNorms", "Description"), 0);
            gridMain.ListGridColumns.Add(col);
            gridMain.ListGridRows.Clear();
            GridRow row;

            foreach (RxNorm rxNorm in rxList)
            {
                row = new GridRow();
                row.Cells.Add(rxNorm.RxCui);                //Code
                if (listMedicationRxCuis.Exists(x => x == rxNorm.RxCui))
                {
                    row.Cells.Add("X");                    //InMedList
                }
                else
                {
                    row.Cells.Add("");                                                            //InMedList
                }
                row.Cells.Add(listMedPatRxCuis.FindAll(x => x == rxNorm.RxCui).Count.ToString()); //MedCount
                row.Cells.Add(rxNorm.Description);
                gridMain.ListGridRows.Add(row);
            }
            gridMain.EndUpdate();
            gridMain.ScrollValue = 0;
            Cursor = Cursors.Default;
        }