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(); }
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 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; }
/**************************************************************************************************/ 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(); } }