이전 포스팅에이어
2025.03.02 - [코딩/Blazor] - BlazorDatasheet 사용하기
2025.03.03 - [코딩/Blazor] - BlazorDatasheet 에 동적 dynamic 바인딩 처리하기 - SQLiteDB/Dapper 이용
2025.03.03 - [코딩/Blazor] - BlazorDatasheet 로 ComboBox 데이터 표시하기
2025.03.05 - [코딩/Blazor] - BlazorDatasheet SetFormat 사용하기
Cell 내용이 변이 된 경우 변경을 감지하고 셀색을 변경하는 방법을 알아봅니다.
sheet.SheetDirty 이벤트를 이용하면 cell 내용이 변경되었을 때 이벤트가 발생됩니다.
이때 이벤트 인자 e(DirtySheetEventArgs) 에서 영역을 가져와 배경색을 변경 할 수 있습니다.
sheet.SheetDirty += Sheet_Sheetdirty;
private void Sheet_Sheetdirty(object? sender, DirtySheetEventArgs e)
{
// SheetDirty 이벤트 제거
sheet.SheetDirty -= Sheet_Sheetdirty;
// 색변경
foreach(var region in e.DirtyRegions.GetRegions(true))
{
var cell = sheet.Cells.GetCellsInRegion(region).FirstOrDefault();
if (cell != null)
{
var format = cell.Format.Clone();
format.BackgroundColor = "lightgray";
sheet.SetFormat(region, format);
}
}
Console.WriteLine("SheetDirty");
// SheetDirty 이벤트 추가
sheet.SheetDirty += Sheet_Sheetdirty;
}
e.DirtyRegions.GetRegions(true) 로 변경된 영역을 가져올 수 있습니다.
한 Cell 값만을 변경하는 경우에는 하나의 Cell 영역만 반환되지만
영역을 잡아서 수정하는 경우에는 여러 Cell 영역이 반환됩니다.
결과
BlazorDatasheet Cell 에 Combo 데이터 표시하기 (0) | 2025.03.12 |
---|---|
BlazorDatasheet Cell 에 Button 표시하기 (0) | 2025.03.12 |
BlazorDatasheet SetFormat 사용하기 (0) | 2025.03.05 |
BlazorDatasheet 로 ComboBox 데이터 표시하기 (0) | 2025.03.03 |
BlazorDatasheet 에 동적 dynamic 바인딩 처리하기 - SQLiteDB/Dapper 이용 (0) | 2025.03.03 |