本文整理汇总了C++中NFIDataList::Type方法的典型用法代码示例。如果您正苦于以下问题:C++ NFIDataList::Type方法的具体用法?C++ NFIDataList::Type怎么用?C++ NFIDataList::Type使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NFIDataList
的用法示例。
在下文中一共展示了NFIDataList::Type方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: FindRowByColValue
int NFCRecord::FindRowByColValue(const int nCol, const NFIDataList& var, NFIDataList& varResult)
{
if (!ValidCol(nCol))
{
return -1;
}
TDATA_TYPE eType = var.Type(0);
if (eType != mVarRecordType->Type(nCol))
{
return -1;
}
switch (eType)
{
case TDATA_INT:
return FindInt(nCol, var.Int(nCol), varResult);
break;
case TDATA_FLOAT:
return FindFloat(nCol, var.Float(nCol), varResult);
break;
case TDATA_STRING:
return FindString(nCol, var.String(nCol).c_str(), varResult);
break;
case TDATA_OBJECT:
return FindObject(nCol, var.Object(nCol), varResult);
break;
default:
break;
}
return -1;
}
示例2: AddRow
int NFCRecord::AddRow(const int nRow, const NFIDataList& var)
{
bool bCover = false;
int nFindRow = nRow;
if (nFindRow >= mnMaxRow)
{
return -1;
}
if (var.GetCount() != GetCols())
{
return -1;
}
if (nFindRow < 0)
{
for (int i = 0; i < mnMaxRow; i++)
{
if (!IsUsed(i))
{
nFindRow = i;
break;
}
}
}
else
{
if (IsUsed(nFindRow))
{
bCover = true;
}
}
if (nFindRow < 0)
{
return -1;
}
for (int i = 0; i < GetCols(); ++i)
{
if (var.Type(i) != GetColType(i))
{
return -1;
}
}
SetUsed(nFindRow, 1);
for (int i = 0; i < GetCols(); ++i)
{
NF_SHARE_PTR<NFIDataList::TData> pVar = mtRecordVec.at(GetPos(nFindRow, i));
if (nullptr == pVar)
{
pVar = NF_SHARE_PTR<NFIDataList::TData>(NF_NEW NFIDataList::TData(var.Type(i)));
}
pVar->variantData = var.GetStack(i)->variantData;
}
RECORD_EVENT_DATA xEventData;
xEventData.nOpType = bCover? Cover : Add;
xEventData.nRow = nFindRow;
xEventData.nCol = 0;
xEventData.strRecordName = mstrRecordName;
NFIDataList::TData tData;
OnEventHandler(mSelf, xEventData, tData, tData); //FIXME:RECORD
return nFindRow;
}