public void RemoveRelationObject(T o, string FKeyName)//对于关联的数据对象,只打标记,不真正的删除 { if (Contains(o)) { //ol.Remove(o); //IsChanged = true; FieldInfo f = ls.getFieldByName(o, FKeyName); if (f != null) { f.SetValue(o, o.getUnAvailableIDValue()); } if (o.DataFlag == DataOperation.Nothing) { o.DataFlag = DataOperation.Update; } if (Status == DataListStatus.DataUnLinked) { Status = DataListStatus.DataUnLinkedChanged; } if (Status == DataListStatus.DataLinked) { Status = DataListStatus.DataLinkedChanged; } } }
public new void Add(T item) { base.Add(item); sendChangedEvent(item, LFCObjChanged.ObjectCreated); if (Status == DataListStatus.DataUnLinked) { Status = DataListStatus.DataUnLinkedChanged; } if (Status == DataListStatus.DataLinked) { Status = DataListStatus.DataLinkedChanged; } }
public new void Remove(T item)//只有没有关联的时候真的删除,否则只是打标记 { if (Status == DataListStatus.DataUnLinked || Status == DataListStatus.DataUnLinkedChanged) { Status = DataListStatus.DataUnLinkedChanged; base.Remove(item); sendChangedEvent(item, LFCObjChanged.ObjectDeleted); return; } //item.DataFlag = DataOperation.Delete; if (Status == DataListStatus.DataLinked) { Status = DataListStatus.DataLinkedChanged; } }
public void setStatus(string s) { if (s == "DataLinked") { Status = DataListStatus.DataLinked; } if (s == "DataLinkedChanged") { Status = DataListStatus.DataLinkedChanged; } if (s == "DataUnLinkedChanged") { Status = DataListStatus.DataUnLinkedChanged; } Status = DataListStatus.DataUnLinked; }
public void AddRelationObject(T o, string FKeyName, string FKeyValue) { Add(o); FieldInfo f = ls.getFieldByName(o, FKeyName); if (f != null) { f.SetValue(o, FKeyValue); } if (o.DataFlag == DataOperation.Nothing) { o.DataFlag = DataOperation.Update; } if (Status == DataListStatus.DataUnLinked) { Status = DataListStatus.DataUnLinkedChanged; } if (Status == DataListStatus.DataLinked) { Status = DataListStatus.DataLinkedChanged; } }
public new void Clear()//相当于初始化 { base.Clear(); Status = DataListStatus.DataUnLinked; }