示例#1
0
        private OLVColumnMetaData GetOLVColumnMetaDataTableRow(DataRow dr)
        {
            OLVColumnMetaData oOLVMD = new OLVColumnMetaData();

            oOLVMD.columnHeader       = dr["columnHeader"].ToString();
            oOLVMD.columnWidth        = (int)dr["columnWidth"];
            oOLVMD.columnDisplayOrder = (int)dr["columnDisplayOrder"];
            return(oOLVMD);
        }
        private void buttonRestoreState_Click(object sender, EventArgs e)
        {
            byte[] previouslySavedState = getOlvState(SessionManager.Instance.ActiveUser.ToString(), this.Text);
            bool   restoreSuccessful    = false;

            if (previouslySavedState.Length != 0)
            {
                restoreSuccessful = fastDataListView1.RestoreState(previouslySavedState);
                if (!restoreSuccessful)
                {
                    Logger.Instance.WriteToLog("Could not restore previously saved olv column state for " + this.Text);
                }
                else
                {
                    return;
                }
            }

            //set up columns the old fashioned way, one at a time
            //show only desired columns
            DataTable dt = BCDB2.Instance.getDataTable(@"EXEC sp_3_GetValuesFromlkpBigQueueColumnMetaData @filterName=N'" + this.Text + "'");
            List <OLVColumnMetaData> columnMetaDataList = new List <OLVColumnMetaData>();

            columnMetaDataList = new List <OLVColumnMetaData>(
                (from dRow in dt.AsEnumerable()
                 select(GetOLVColumnMetaDataTableRow(dRow)))
                );

            foreach (OLVColumn c in fastDataListView1.AllColumns)
            {
                OLVColumnMetaData r = null;
                r = columnMetaDataList.Find(item => item.columnHeader == c.Text);
                if (r != null)
                {
                    c.IsVisible        = true;
                    c.Width            = r.columnWidth;
                    c.LastDisplayIndex = r.columnDisplayOrder;
                }
                else
                {
                    c.IsVisible = false;
                }
            }

            fastDataListView1.RebuildColumns();
        }
示例#3
0
 private OLVColumnMetaData GetOLVColumnMetaDataTableRow(DataRow dr)
 {
     OLVColumnMetaData oOLVMD = new OLVColumnMetaData();
     oOLVMD.columnHeader = dr["columnHeader"].ToString();
     oOLVMD.columnWidth = (int)dr["columnWidth"];
     oOLVMD.columnDisplayOrder = (int)dr["columnDisplayOrder"];
     return oOLVMD;
 }
示例#4
0
 private OLVColumnMetaData GetOLVColumnMetaDataTableRow(DataRow dr)
 {
     OLVColumnMetaData oOLVMD = new OLVColumnMetaData();
     oOLVMD.columnHeader = dr["columnHeader"].ToString();
     oOLVMD.columnWidth = (int)dr["columnWidth"];
     oOLVMD.columnDisplayOrder = (int)dr["columnDisplayOrder"];
     oOLVMD.AspectToStringFormat = dr["AspectToStringFormat"].ToString();
     oOLVMD.displayText = dr["displayText"].ToString();
     return oOLVMD;
 }
示例#5
0
        /**************************************************************************************************/
        private void FillControls()
        {
            DataTable dt = BCDB2.Instance.getDataTable(@"EXEC sp_3_GetValuesFromlkpBigQueueColumnMetaData @filterName=N'" + theQueue.QueueName + "'");

            List <OLVColumnMetaData> columnMetaDataList; //= new List<OLVColumnMetaData>();

            columnMetaDataList = new List <OLVColumnMetaData>(
                (from dRow in dt.AsEnumerable()
                 select(GetOLVColumnMetaDataTableRow(dRow)))
                );


            //create special empty first column
            //so that we can avoid the extra space in front of every value
            BrightIdeasSoftware.OLVColumn olvc = new BrightIdeasSoftware.OLVColumn();
            fastDataListView1.AllColumns.Add(olvc);
            System.Windows.Forms.ColumnHeader[] colHeaderArray = new System.Windows.Forms.ColumnHeader[] { olvc };
            fastDataListView1.Columns.AddRange(colHeaderArray);
            olvc.Text         = "firstCol";
            olvc.MinimumWidth = 0;
            olvc.MaximumWidth = 0;

            foreach (DataColumn c in theQueue.dt.Columns)
            {
                Application.DoEvents();
                String            colName        = c.ColumnName;
                OLVColumnMetaData metadataColumn = null;
                foreach (OLVColumnMetaData mdc in columnMetaDataList)
                {
                    if (string.Compare(mdc.columnHeader, colName, true) == 0)
                    {
                        metadataColumn = mdc;
                    }
                }

                if (metadataColumn != null)
                {
                    olvc     = new BrightIdeasSoftware.OLVColumn();
                    olvc.Tag = metadataColumn;
                    fastDataListView1.AllColumns.Add(olvc);
                    colHeaderArray = new System.Windows.Forms.ColumnHeader[] { olvc };
                    fastDataListView1.Columns.AddRange(colHeaderArray);
                    olvc.AspectName = colName;
                    olvc.Text       = colName;
                }
                else //if (currentFilterSelectionIndex == 0)
                {
                    olvc = new BrightIdeasSoftware.OLVColumn();
                    fastDataListView1.AllColumns.Add(olvc);
                    colHeaderArray = new System.Windows.Forms.ColumnHeader[] { olvc };
                    fastDataListView1.Columns.AddRange(colHeaderArray);
                    olvc.AspectName = colName;
                    olvc.Text       = colName;
                    olvc.IsVisible  = false;
                }
            }

            fastDataListView1.RebuildColumns();

            fastDataListView1.UseAlternatingBackColors = true;
            fastDataListView1.AlternateRowBackColor    = Color.WhiteSmoke;
            fastDataListView1.AllColumns[0].Width      = 0;



            int count = 0;

            foreach (OLVColumn columnToSize in fastDataListView1.AllColumns)
            {
                Application.DoEvents();
                columnToSize.Width = -2;
                count++;

                try
                {
                    if (columnToSize.Tag != null)
                    {
                        OLVColumnMetaData md = (OLVColumnMetaData)columnToSize.Tag;
                        if (columnToSize.Width < md.columnWidth)
                        {
                            columnToSize.Width = md.columnWidth;
                        }
                        if (md.columnDisplayOrder < fastDataListView1.AllColumns.Count)
                        {
                            columnToSize.DisplayIndex = md.columnDisplayOrder;
                        }
                        if (string.IsNullOrEmpty(md.displayText) == false)
                        {
                            columnToSize.Text = md.displayText;
                        }
                        if (string.IsNullOrEmpty(md.AspectToStringFormat) == false)
                        {
                            columnToSize.AspectToStringFormat = md.AspectToStringFormat;
                        }
                    }
                }
                catch (Exception excp)
                {
                    Logger.Instance.WriteToLog(excp.ToString());
                }
            }

            fastDataListView1.DataSource = SetBindingSource();

            //initialize the row count
            ListViewDataSetSelectedIndexChanged(fastDataListView1, new System.EventArgs());

            //relabel the tab
            this.Text = theQueue.QueueText;

            if (theQueue.dt.Rows.Count > 0)
            {
                fastDataListView1.SelectedIndex = 0;
            }
            else
            {
                SessionManager.Instance.ClearActivePatient();
            }
        }