本文整理汇总了C++中NFDataList::GetStack方法的典型用法代码示例。如果您正苦于以下问题:C++ NFDataList::GetStack方法的具体用法?C++ NFDataList::GetStack怎么用?C++ NFDataList::GetStack使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NFDataList
的用法示例。
在下文中一共展示了NFDataList::GetStack方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SetRow
bool NFCRecord::SetRow(const int nRow, const NFDataList & var)
{
if (var.GetCount() != GetCols())
{
return false;
}
if (!IsUsed(nRow))
{
return false;
}
for (int i = 0; i < GetCols(); ++i)
{
if (var.Type(i) != GetColType(i))
{
return false;
}
}
for (int i = 0; i < GetCols(); ++i)
{
NF_SHARE_PTR<NFData>& pVar = mtRecordVec.at(GetPos(nRow, i));
if (nullptr == pVar)
{
pVar = NF_SHARE_PTR<NFData>(NF_NEW NFData(var.Type(i)));
}
NFData oldValue = *pVar;
pVar->variantData = var.GetStack(i)->variantData;
RECORD_EVENT_DATA xEventData;
xEventData.nOpType = RECORD_EVENT_DATA::Update;
xEventData.nRow = nRow;
xEventData.nCol = i;
xEventData.strRecordName = mstrRecordName;
OnEventHandler(mSelf, xEventData, oldValue, *pVar);
}
return false;
}
示例2: AddRow
int NFCRecord::AddRow(const int nRow, const NFDataList& 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<NFData>& pVar = mtRecordVec.at(GetPos(nFindRow, i));
if (nullptr == pVar)
{
pVar = NF_SHARE_PTR<NFData>(NF_NEW NFData(var.Type(i)));
}
pVar->variantData = var.GetStack(i)->variantData;
}
RECORD_EVENT_DATA xEventData;
xEventData.nOpType = bCover? RECORD_EVENT_DATA::Cover : RECORD_EVENT_DATA::Add;
xEventData.nRow = nFindRow;
xEventData.nCol = 0;
xEventData.strRecordName = mstrRecordName;
NFData tData;
OnEventHandler(mSelf, xEventData, tData, tData); //FIXME:RECORD
return nFindRow;
}