Clear buffer in Json and Xml grid editors when resultset data has changed.

Else, the last buffer will populate the popup grid.

Added LResultSetEvent::DataChanged, LResultSet::InformDataChanged,
JsonGridEditorRsEVH::DataChanged and XmlGridEditorRsEVH::DataChanged.
This commit is contained in:
SET
2020-01-04 16:39:15 +01:00
parent eb2036acbe
commit 444e7ddf20
10 changed files with 35 additions and 9 deletions

View File

@@ -63,6 +63,7 @@ bool LPQResultSet::RunSQL()
m_initialised = true;
InformInitialised();
}
InformDataChanged();
return true;
}
else

View File

@@ -203,6 +203,16 @@ void LResultSet::InformInitialised()
}
}
void LResultSet::InformDataChanged()
{
for (int i = 0; i < m_evtHandlers.GetCount(); i++)
{
void * p = m_evtHandlers.Item(i);
LResultSetEvent * evh = static_cast<LResultSetEvent*> (p);
if (evh != NULL) evh->DataChanged(this);
}
}
void LResultSet::InformBeforeSave()
{
for (int i = 0; i < m_evtHandlers.GetCount(); i++)
@@ -390,6 +400,10 @@ void LResultSetEvent::Initialised(LResultSet* caller)
{
}
void LResultSetEvent::DataChanged(LResultSet* caller)
{
}
void LResultSetEvent::BeforeSave(LResultSet * caller)
{
}

View File

@@ -217,6 +217,7 @@ protected:
wxArrayPtrVoid m_evtHandlers;
void InformInitialised();
void InformDataChanged();
void InformBeforeSave();
void InformBeforeInsert();
void InformBeforeUpdate();
@@ -253,6 +254,7 @@ public:
ACTION_ADDNEW = 0, ACTION_SAVE, ACTION_CANCEL, ACTION_REFRESH, ACTION_DELETE
};
virtual void Initialised(LResultSet * caller);
virtual void DataChanged(LResultSet * caller);
virtual void BeforeSave(LResultSet * caller);
virtual void BeforeInsert(LResultSet * caller);
virtual void BeforeUpdate(LResultSet * caller);

View File

@@ -67,6 +67,7 @@ bool LSQResultSet::RunSQL()
m_initialised = true;
InformInitialised();
}
InformDataChanged();
return true;
}
else

View File

@@ -7,11 +7,8 @@
<editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="0"/>
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
<group>
<file>file:/home/user/Documents/published/L7/L7/special/XmlHelper.cpp</file>
<file>file:/home/user/Documents/published/L7/L7/special/XmlGridPickerCtrl.cpp</file>
<file>file:/home/user/Documents/published/L7/L7/special/LGridXmlCellRenderer.cpp</file>
<file>file:/home/user/Documents/published/L7/L7/special/LGridJsonCellRenderer.h</file>
<file>file:/home/user/Documents/published/L7/L7/special/LGridJsonCellRenderer.cpp</file>
<file>file:/home/user/Documents/published/L7/L7/LBoundGrid.cpp</file>
<file>file:/home/user/Documents/published/L7/L7/LBoundGrid.h</file>
</group>
</open-files>
</project-private>

View File

@@ -142,3 +142,9 @@ void JsonGridEditorRsEVH::AfterAction(LResultSet * caller, ACTIONS action)
m_owner->m_jsonBuffer.MakeNull();
}
}
void JsonGridEditorRsEVH::DataChanged(LResultSet* caller)
{
m_rs = caller;
m_owner->m_jsonBuffer.MakeNull();
}

View File

@@ -110,6 +110,7 @@ private:
JsonGridEditorRsEVH(LGridJsonCellEditor * owner);
virtual ~JsonGridEditorRsEVH();
virtual void AfterAction(LResultSet * caller, ACTIONS action);
virtual void DataChanged(LResultSet* caller);
void SetResultSet(LResultSet * caller)
{

View File

@@ -141,3 +141,9 @@ void XmlGridEditorRsEVH::AfterAction(LResultSet * caller, ACTIONS action)
m_owner->m_xmlBuffer.MakeNull();
}
}
void XmlGridEditorRsEVH::DataChanged(LResultSet* caller)
{
m_rs = caller;
m_owner->m_xmlBuffer.MakeNull();
}

View File

@@ -109,6 +109,7 @@ private:
XmlGridEditorRsEVH(LGridXmlCellEditor * owner);
virtual ~XmlGridEditorRsEVH();
virtual void AfterAction(LResultSet * caller, ACTIONS action);
virtual void DataChanged(LResultSet* caller);
void SetResultSet(LResultSet * caller)
{

View File

@@ -9,9 +9,6 @@
</data>
<editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="0"/>
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
<group>
<file>file:/home/user/Documents/published/L7/L7Test/L7Test.h</file>
<file>file:/home/user/Documents/published/L7/L7Test/L7Test.cpp</file>
</group>
<group/>
</open-files>
</project-private>