private void ADD_ROW(AFCoreEx.AFIDENTID self, string strRecordName, AFMsg.DataTableAddRow xAddStruct) { AFIObject go = AFCKernel.Instance.GetObject(self); AFIRecordManager xRecordManager = go.GetRecordManager(); Hashtable recordVecDesc = new Hashtable(); Hashtable recordVecData = new Hashtable(); AFCoreEx.AFCDataList RowList = new AFCDataList(); AFCoreEx.AFIDataList varListDesc = new AFCDataList(); for (int k = 0; k < xAddStruct.CellList.Count; ++k) { AFMsg.PBCellData addStruct = (AFMsg.PBCellData)xAddStruct.CellList[k]; if (addStruct.Col >= 0) { int nRow = -1; int nCol = -1; AFCoreEx.AFIDataList.Var_Data xRowData = PBRecordToData(addStruct, ref nRow, ref nCol); RowList.AddDataObject(ref xRowData); varListDesc.AddDataObject(ref xRowData); } } AFIRecord xRecord = xRecordManager.GetRecord(strRecordName); if (null == xRecord) { xRecord = xRecordManager.AddRecord(strRecordName, 512, varListDesc); } xRecord.AddRow(xAddStruct.Row, RowList); }
static public AFCoreEx.AFIDataList.Var_Data PBRecordToData(AFMsg.PBCellData xTableCellData, ref int nRow, ref int col) { AFCoreEx.AFIDataList.Var_Data xData = new AFCoreEx.AFIDataList.Var_Data(); nRow = xTableCellData.Row; col = xTableCellData.Col; switch ((AFIDataList.VARIANT_TYPE)xTableCellData.DataType) { case AFIDataList.VARIANT_TYPE.VTYPE_BOOLEAN: { xData.mData = xTableCellData.VariantData.BoolValue; } break; case AFIDataList.VARIANT_TYPE.VTYPE_INT: { xData.mData = xTableCellData.VariantData.IntValue; } break; case AFIDataList.VARIANT_TYPE.VTYPE_INT64: { xData.mData = xTableCellData.VariantData.Int64Value; } break; case AFIDataList.VARIANT_TYPE.VTYPE_FLOAT: { xData.mData = xTableCellData.VariantData.FloatValue; } break; case AFIDataList.VARIANT_TYPE.VTYPE_DOUBLE: { xData.mData = xTableCellData.VariantData.DoubleValue; } break; case AFIDataList.VARIANT_TYPE.VTYPE_STRING: { xData.mData = xTableCellData.VariantData.StrValue; } break; case AFIDataList.VARIANT_TYPE.VTYPE_OBJECT: { xData.mData = PBToAF(xTableCellData.VariantData.GuidValue); } break; } return(xData); }