public override bool SetObject(int nRow, int nCol, NFIDENTID value) { if (nRow >= 0 && nRow < mnRow) { if (!mhtRecordVec.ContainsKey(nRow)) { AddRow(nRow); } NFIDataList valueList = (NFIDataList)mhtRecordVec[nRow]; if (valueList.GetType(nCol) == NFIDataList.VARIANT_TYPE.VTYPE_OBJECT) { if (valueList.ObjectVal(nCol) != value) { NFCDataList oldValue = new NFCDataList(); oldValue.AddObject(valueList.ObjectVal(nCol)); valueList.SetObject(nCol, value); NFCDataList newValue = new NFCDataList(); newValue.AddObject(valueList.ObjectVal(nCol)); if (null != doHandleDel) { doHandleDel(mSelf, mstrRecordName, eRecordOptype.Updata, nRow, nCol, oldValue, newValue); } } } return(true); } return(false); }