private void InitializeComponent() { this.treeList = new TokenEditTest.CustomTreeList(); this.colData = new DevExpress.XtraTreeList.Columns.TreeListColumn(); ((System.ComponentModel.ISupportInitialize)(this.treeList)).BeginInit(); this.SuspendLayout(); this.treeList.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder; this.treeList.Columns.AddRange(new DevExpress.XtraTreeList.Columns.TreeListColumn[] { this.colData }); this.treeList.Dock = System.Windows.Forms.DockStyle.Fill; this.treeList.Location = new System.Drawing.Point(0, 0); this.treeList.Name = "treeList"; this.treeList.OptionsBehavior.Editable = false; this.treeList.OptionsBehavior.EnableFiltering = true; this.treeList.OptionsBehavior.ReadOnly = true; this.treeList.OptionsSelection.EnableAppearanceFocusedCell = false; this.treeList.OptionsView.ShowIndentAsRowStyle = true; this.treeList.Size = new System.Drawing.Size(331, 209); this.treeList.TabIndex = 0; this.treeList.FocusedNodeChanged += new DevExpress.XtraTreeList.FocusedNodeChangedEventHandler(this.OnTreeListFocusedNodeChanged); this.treeList.DoubleClick += new System.EventHandler(this.OnTreeListDoubleClick); this.treeList.KeyFieldName = "Id"; this.treeList.ParentFieldName = "ParentId"; this.colData.Caption = "Data"; this.colData.FieldName = "Text"; this.colData.Name = "colData"; this.colData.Visible = true; this.colData.VisibleIndex = 0; this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.Controls.Add(this.treeList); this.Name = "CustomTokenEditPopupControl"; this.Size = new System.Drawing.Size(331, 209); ((System.ComponentModel.ISupportInitialize)(this.treeList)).EndInit(); this.ResumeLayout(false); }
public void ShowCustomColumns(PersistableObject obj, object currentTreeList) { CustomTreeList treeList = currentTreeList as CustomTreeList; if (treeList == null) { return; } List <TreeListColumn> columnsToAdd = new List <TreeListColumn>(); foreach (TreeListColumn column in CreateColumns(ColumnsSetting.TestCaseDesign)) { bool alreadyFound = (treeList.Columns.ColumnByFieldName(column.FieldName) != null); if (!alreadyFound) { columnsToAdd.Add(column); } } treeList.Columns.AddRange(columnsToAdd.ToArray()); // treeList.Columns.AddRange(CreateColumns(ColumnsSetting.TestCaseDesigns)); }
public bool FetchDataFromCellsMisys(object objCommand, ref object objResult, ref object objError) { Logger.logBegin("FetchDataFromCellsMisys"); const string cnst_CONDITION = "CONDITION:"; string strCommand = objCommand == null ? null : objCommand.ToString(); try { if (string.IsNullOrEmpty(strCommand)) { throw new Exception("objCommand should not be NULL or empty"); } /** check Command **/ /* ' format : * ' ROWS_LIMIT:0:0;Code/Name * ' ALLROWS;ColumnsName * ' CONDITION:COLUMN=A;ColumnName;NOSUB, Example: CONDITION:0=@FO_test;Income;NOSUB * ' NOSUB means don't get all sub information, other wise get all sub expanded rows * */ if (!TigerMarsUtil.RegularTest("^CONDITION:", strCommand)) { throw new Exception(string.Format("No supported Command, [{0}]", strCommand)); } //objReflect.GetMember<object>(objDataSrcTmp,"") if (TigerMarsUtil.RegularTest("^" + cnst_CONDITION, strCommand)) { #region CONDITION MODE //CONDITION:COLUMN=A;ColumnName;NOSUB, Example: CONDITION:0=@FO_test;Income;NOSUB if (!TigerMarsUtil.RegularTest(@"CONDITION:\S+=\S{1,};\b\w+\b(;NOSUB){0,1}", strCommand)) { objError = string.Format("RC should match CONDITION:\\b\\w+\\b=\\w+;\\b\\w+\\b(;NOSUB), Command:{0}", strCommand); Logger.Error("FetchDataFromCellsMisys", (string)objError); return(false); } string strCmdNoHeader = strCommand.Replace(cnst_CONDITION, ""); string[] arrTargetField = strCmdNoHeader.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); string strTargetField = arrTargetField[1]; string[] arrCondition = arrTargetField[0].Split(new string[] { "=" }, StringSplitOptions.RemoveEmptyEntries); TreeList objTr = (TreeList)base.SourceControl; CustomTreeList objCTrlst = (CustomTreeList)objTr; object objDataSrcTmp = objCTrlst.DataSource; ReflectorForCSharp objReflect = new ReflectorForCSharp(); CSMPortfolio objPortC = null; CSMPosition objPortCsub = null; //object objPortfolio = objReflect.GetMember<object>(objDataSrcTmp, "Portfolio"); //CSMPortfolio objPortC = (CSMPortfolio)objPortfolio; //double dIncome = objPortC.GetIncome(); object tmpData = objReflect.GetMember <object>(objTr, "Data"); UnboundData unData = (UnboundData)tmpData; VirtualDataRow objVDataRow = null; bool isFind = false; string strHeadName = ""; int iLevel = -1; double dDat = 0.00; string strResult = "", strTmp = ""; for (int i = 0; i < unData.DataList.Count; i++) { objVDataRow = (VirtualDataRow)unData.DataList[i]; objPortC = (CSMPortfolio)(objReflect.GetMember <object>(objVDataRow.VirtualNode, "Portfolio")); iLevel = objPortC.GetLevel(); if ((iLevel <= 1) && (isFind)) { break; } strHeadName = objPortC.GetName() == null?"":objPortC.GetName().ToString(); if (!isFind) { /** Only the root level can be taken as comparison node **/ if (iLevel != 1) { continue; } if (!TigerMarsUtil.RegularTest(arrCondition[1], strHeadName)) { continue; } else { isFind = true; } } switch (strTargetField.ToUpper()) { case "INCOME": dDat = objPortC.GetIncome() * 1000; strTmp = dDat.ToString("0."); break; case "NAV": dDat = objPortC.GetNetAssetValue() * 1000; strTmp = dDat.ToString("0."); break; case "RESULT": dDat = objPortC.GetResult() * 1000; strTmp = dDat.ToString("0."); break; case "REALIZED": dDat = objPortC.GetRealised() * 1000; strTmp = dDat.ToString("0."); break; case "BALANCE": dDat = objPortC.GetBalance() * 1000; strTmp = dDat.ToString("0."); break; default: throw new Exception(string.Format("Not supported field :[{0}]", strTargetField)); } if (string.IsNullOrEmpty(strResult)) { strResult = string.Format("[{0}{1}]", strHeadName, FormatStrWithTab(0, strTmp)); } else { strResult = string.Format("{0}\n\r{1}", strResult, string.Format("[{0}{1}]", strHeadName, FormatStrWithTab(0, strTmp))); } for (int j = 0; j < objVDataRow.Children.Count; j++) { //objVDataRow.Children[j]; objPortCsub = (CSMPosition)objReflect.GetMember <object>(objVDataRow.Children[j], "Position"); strHeadName = objVDataRow.Children[j].ToString(); if (objPortCsub == null) { continue; } switch (strTargetField.ToUpper()) { case "INCOME": dDat = objPortCsub.GetIncome() * 1000; strTmp = dDat.ToString("0."); break; case "NAV": dDat = objPortCsub.GetNetAssetValue() * 1000; strTmp = dDat.ToString("0."); break; case "RESULT": dDat = objPortCsub.GetResult() * 1000; strTmp = dDat.ToString("0."); break; case "REALIZED": dDat = objPortCsub.GetRealised() * 1000; strTmp = dDat.ToString("0."); break; case "BALANCE": dDat = objPortCsub.GetBalance() * 1000; strTmp = dDat.ToString("0."); break; default: throw new Exception(string.Format("Not supported field :[{0}]", strTargetField)); } strResult = string.Format("{0}\n\r{1}", strResult, string.Format("[{0} {1}]", strHeadName, FormatStrWithTab(0, strTmp))); } break; } objResult = strResult; return(true); #endregion //CONDTION MODE } objError = string.Format("Unsupported Command formatter:[{0}]", strCommand); return(false); } catch (Exception e) { objError = e.Message; Logger.Error("FetchDataFromCellsMisys", string.Format("Errors come across. Exception:[{0}]", e.Message), e); return(false); } finally { Logger.logEnd("FetchDataFromCellsMisys"); } }