public override bool SetDouble(int nRow, int nCol, double 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_DOUBLE) { if (valueList.DoubleVal(nCol) - value > NFIDataList.EPS_DOUBLE || valueList.DoubleVal(nCol) - value < -NFIDataList.EPS_DOUBLE) { NFIDataList.TData oldValue = new NFIDataList.TData(NFIDataList.VARIANT_TYPE.VTYPE_DOUBLE); NFIDataList.TData newValue = new NFIDataList.TData(NFIDataList.VARIANT_TYPE.VTYPE_DOUBLE); oldValue.Set(valueList.DoubleVal(nCol)); newValue.Set(value); valueList.SetDouble(nCol, value); if (null != doHandleDel) { doHandleDel(mSelf, mstrRecordName, eRecordOptype.Updata, nRow, nCol, oldValue, newValue); } } } return(true); } return(false); }