Set the column internal data type.
BOOL SetInternalData( UINT iType )
TRUE if set the column internal type successfully, otherwise FALSE.
EX1
// This example creates a worksheet with four numeric columns with four storage types void Column_SetInternalData_Ex1() { Worksheet wks; wks.Create("Origin", CREATE_VISIBLE); if(!wks) return; int iType = FSI_DOUBLE; wks.AddCol(); wks.AddCol(); foreach(Column col in wks.Columns) { col.SetFormat(OKCOLTYPE_NUMERIC); if(!col.SetInternalData(iType)) out_str("set error"); iType++; } }
EX2
// create new wks with 3 col, and set col(3) as complex void Column_SetInternalData_Ex2(int npts = 100) { Worksheet wksOut; wksOut.Create(); // Make sure the worksheet has 2 * nNumData columns (X, Ycomplex for each data): while( wksOut.Columns.Count() < 2) wksOut.AddCol(); // Initialize XYRange for setting the data into: XYRangeComplex dr; dr.Add("X", wksOut, 0, 0, -1, 0); // Set the destination column for complex: Column colObj = wksOut.Columns(1); colObj.SetFormat(OKCOLTYPE_NUMERIC); colObj.SetInternalData(FSI_COMPLEX); dr.Add("Y", wksOut, 0, 1, -1, 1); dr.Add("S", NULL); // Generate some data and set it into the XYRange: int nNumRows = 5; vector vReal; vector vImag; vector vx; vReal.SetSize(nNumRows); vImag.SetSize(nNumRows); vx.SetSize(nNumRows); for (int row = 0; row < nNumRows; row++) { double rX = row + 1; double rReal = pow(10, 0) + (row + 1); double rImag = 2 * pow(10, 0) + (row + 1) * (row + 1); vReal[row] = rReal; vImag[row] = rImag; vx[row] = rX; } if ( !dr.SetData(&vReal, &vImag, &vx, 0) ) { out_str("Failed to set data."); } }
Replaced by DataObject::SetInternalDataType
Set the column internal data type (This is a characteristic of numeric
column format). If you are not sure the column is in numeric format, call SetFormat
first.
origin.h