Example #1
0
    public override void DoOnFetch(long rownum, CXLRDataRow row) {
			var vCols = this.RootGroup.ColDefs;
			var vDetals = new Object[vCols.Count];
			for(var i=0; i<vCols.Count; i++){
				Object vCurDT = null;
        var v_leaveGroupData = this.Owner.Owner.Cfg.leaveGroupData;
        if (!v_leaveGroupData && vCols[i].IsGroupField)
          vCurDT = null;
        else{
          if(vCols[i].IsSysField){
            if(vCols[i].FieldName.Equals("RNUM"))
            vCurDT = new Decimal(rownum);
          }else
            vCurDT = this.RootGroup.GetData(i, row);
        }
				vDetals[i] = vCurDT;
			}
			this._detailRows.Add(vDetals);
			this.DoOnRowsInsert(1);
		}
Example #2
0
    public virtual void DoOnFetch(long rownum, CXLRDataRow row) {
			if(this.FGroupKeyField != null){
				if(this.FGroupKeyValue == null){ // первый вход в процедуру объекта
					this.FGroupKeyValue = row[this.FGroupKeyField] ?? "<пусто>";
				}
				this.doFetch(rownum, row);
			}else
        this.GroupDetails(true).DoOnFetch(rownum, row);
		}
Example #3
0
    public void doFetch(long rownum, CXLRDataRow row) {
			Object vCurGroupKey = row[this.FGroupKeyField] ?? "<пусто>";
      //if (vCurGroupKey != null) {
        if (!vCurGroupKey.Equals(this.FGroupKeyValue)) {
          this.ParentGroup.ChildGroups(true).AddGroup();
          this.ParentGroup.LastChildGroup(true).DoOnFetch(rownum, row);
        } else {
          CXLRColDef vCol = this.RootGroup.ColDefs.GetByColIndex(this.LeftCol + 1);
          String[] vChldGrps = vCol.GroupFieldNames;
          if (vChldGrps.Length > 0)
            this.LastChildGroup(true).DoOnFetch(rownum, row);
          else
            this.GroupDetails(true).DoOnFetch(rownum, row);
        }
      //} else
      //  throw new Exception(String.Format("Поле группировки {0} не может быть пустым!", this.FGroupKeyField));
		}
Example #4
0
 CXLRDataRow convertDataRow(DataRow row) {
   CXLRDataRow rslt = new CXLRDataRow();
   foreach (DataColumn col in row.Table.Columns)
     rslt.Add(col.ColumnName, row[col.ColumnName]);
   return rslt;
 }
Example #5
0
    public override void DoOnFetch(long rownum, CXLRDataRow row) { 
      CXLRColDef vCol = this.ColDefs.GetByColIndex(this.LeftCol+1);
      String[] vGrps = vCol.GroupFieldNames;
			if(vGrps.Length == 0)
        this.GroupDetails(true).DoOnFetch(rownum, row);
			else
        this.LastChildGroup(true).DoOnFetch(rownum, row);
		}
Example #6
0
    public Object GetData(int indx, CXLRDataRow row) {
			String vFieldName = this.ColDefs[indx].FieldName;
			if((vFieldName != null) && (vFieldName.Equals("XLR_FORMULA")))
				return this.ColDefs[indx].Formula;
			else
				return row[vFieldName];
		}