|
@@ -2417,42 +2417,42 @@ namespace InABox.DynamicGrid
|
|
|
return false;
|
|
|
}*/
|
|
|
|
|
|
- protected virtual void DoAdd()
|
|
|
+ protected virtual void DoAdd(bool OpenEditorOnDirectEdit = false)
|
|
|
{
|
|
|
//CoreRow row = (SelectedRow > -1) && (SelectedRow < Data.Rows.Count) ? Data.Rows[this.SelectedRow] : null;
|
|
|
- if (AddEditClick(null))
|
|
|
- {
|
|
|
- Refresh(false, true);
|
|
|
- OnChanged?.Invoke(this);
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
- private void Add_Click(object sender, RoutedEventArgs e)
|
|
|
- {
|
|
|
- if (Options.Contains(DynamicGridOption.DirectEdit))
|
|
|
+ if (Options.Contains(DynamicGridOption.DirectEdit) && !OpenEditorOnDirectEdit)
|
|
|
{
|
|
|
if (!CanCreateItems())
|
|
|
return;
|
|
|
-
|
|
|
+
|
|
|
var item = CreateItem();
|
|
|
SaveItem(item);
|
|
|
-
|
|
|
+
|
|
|
var datarow = Data.NewRow();
|
|
|
ObjectToRow(item, datarow);
|
|
|
Data.Rows.Add(datarow);
|
|
|
-
|
|
|
+
|
|
|
var masterrow = MasterData.NewRow();
|
|
|
ObjectToRow(item, masterrow);
|
|
|
MasterData.Rows.Add(masterrow);
|
|
|
-
|
|
|
+
|
|
|
_recordmap[datarow] = masterrow;
|
|
|
-
|
|
|
+
|
|
|
InvalidateGrid();
|
|
|
SelectedRows = new[] { datarow };
|
|
|
OnChanged?.Invoke(this);
|
|
|
}
|
|
|
- else
|
|
|
- DoAdd();
|
|
|
+ else if (AddEditClick(null))
|
|
|
+ {
|
|
|
+ Refresh(false, true);
|
|
|
+ OnChanged?.Invoke(this);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void Add_Click(object sender, RoutedEventArgs e)
|
|
|
+ {
|
|
|
+ DoAdd(OpenEditorOnDirectEdit: false);
|
|
|
}
|
|
|
public virtual DynamicEditorPages LoadEditorPages(T item)
|
|
|
{
|