|
<SfButton @onclick="Add">Add</SfButton>
<SfButton @onclick="Delete">Delete</SfButton>
<SfButton @onclick="Save" Disabled="Disabled">Update</SfButton>
<SfGrid @ref="Grid" DataSource="@Orders" AllowPaging="true"
Height="315">
<GridEditSettings AllowAdding="true" AllowEditing="true" AllowDeleting="true" Mode="EditMode.Batch"></GridEditSettings>
<GridEvents OnBatchAdd="BatchAddHandler" OnBatchDelete="BatchDeleteHandler" OnCellSave="CellSaveHandler" TValue="Order"></GridEvents>
<GridColumns>
. . .
</GridColumns>
</SfGrid>
@code{
SfGrid<Order> Grid;
public List<Order> Orders { get; set; }
public bool Disabled { get; set; } = true;
. . .
public void Save()
{
Disabled = true;
Grid.EndEdit();
}
public void Add()
{
Grid.AddRecord();
}
public void Delete()
{
Grid.DeleteRecord();
}
public async Task CellSaveHandler(CellSaveArgs<Order> args)
{
var batchChanges = await Grid.GetBatchChanges();
if(batchChanges.ChangedRecords.Count() > 0)
{
Disabled = false;
}
}
public void BatchAddHandler(BeforeBatchAddArgs<Order> args)
{
Disabled = false;
}
public void BatchDeleteHandler(BeforeBatchDeleteArgs<Order> args)
{
Disabled = false;
}
} |
|
<SfButton @onclick="Add">Add</SfButton>
<SfButton @onclick="Delete">Delete</SfButton>
<SfButton @onclick="Save" Disabled="Disabled">Update</SfButton>
<SfButton @onclick="Cancel" Disabled="CancelDisabled">Cancel</SfButton>
<SfGrid @ref="Grid" DataSource="@Orders" AllowPaging="true"
Height="315">
<GridEditSettings AllowAdding="true" AllowEditing="true" AllowDeleting="true" Mode="EditMode.Batch"></GridEditSettings>
<GridEvents OnBatchAdd="BatchAddHandler" OnBatchDelete="BatchDeleteHandler" OnCellSave="CellSaveHandler" TValue="Order"></GridEvents>
<GridColumns>
. . .
</GridColumns>
</SfGrid>
@code{
SfGrid<Order> Grid;
public List<Order> Orders { get; set; }
public bool Disabled { get; set; } = true;
public bool CancelDisabled { get; set; } = true;
. . .
public void Save()
{
Disabled = true;
CancelDisabled = true;
Grid.EndEdit();
}
. . .
public void Cancel()
{
Grid.CloseEdit();
Disabled = true;
CancelDisabled = true;
}
public async Task CellSaveHandler(CellSaveArgs<Order> args)
{
. . .
}
public void BatchAddHandler(BeforeBatchAddArgs<Order> args)
{
. . .
}
public void BatchDeleteHandler(BeforeBatchDeleteArgs<Order> args)
{
. . .
}
} |
|
<SfButton @onclick="Add">Add</SfButton>
<SfButton @onclick="Delete">Delete</SfButton>
<SfButton @onclick="Save" Disabled="Disabled">Update</SfButton>
<SfButton @onclick="Cancel" Disabled="CancelDisabled">Cancel</SfButton>
<SfGrid @ref="Grid" DataSource="@Orders" AllowPaging="true"
Height="315">
<GridEditSettings AllowAdding="true" AllowEditing="true" AllowDeleting="true" Mode="EditMode.Batch"></GridEditSettings>
<GridEvents OnBatchAdd="BatchAddHandler" OnBatchDelete="BatchDeleteHandler" OnCellSave="CellSaveHandler" TValue="Order"></GridEvents>
<GridColumns>
. . .
</GridColumns>
</SfGrid>
@code{
SfGrid<Order> Grid;
public List<Order> Orders { get; set; }
public bool Disabled { get; set; } = true;
public bool CancelDisabled { get; set; } = true;
. . .
public async Task CellSaveHandler(CellSaveArgs<Order> args)
{
var batchChanges = await Grid.GetBatchChanges();
if(batchChanges.ChangedRecords.Count() > 0)
{
if(args.PreviousValue != args.Value)
{
Disabled = false;
CancelDisabled = false;
}
}
}
. . .
} |