@using WebClient.Library.Model @typeparam TDataModel @if (VisibleRowNo == true) { } @foreach (var col in typeof(TDataModel).GetProperties()) { //disable filter if (GlobalGridDisableFilter?.Filter?.Exists(x => x.ToLower() == col.Name.ToLower()) == true) continue; if (GridDisableFilter?.Filter?.Exists(x=>x.ToLower() == col.Name.ToLower()) == true) continue; if (col.Name.ToLower().Equals("testdate")) { } else if (col.Name.ToLower().Equals("testdatetime")) { } else if (col.Name.ToLower().Equals("ok")) { } else if (col.Name.ToLower().Equals("ng")) { } else if (col.Name.ToLower().Contains("cntid") || col.Name.ToLower().Contains("reqid")) { } else if (col.Name.ToLower().Contains("activate")) { } else { } } @code { [Parameter] public IEnumerable DataList { get; set; } [Parameter] public EventCallback OnSelectRow { get; set; } [Parameter] public EventCallback OnDoubleClickRow { get; set; } [Parameter] public int ParentTabId { get; set; } [Parameter] public bool VisibleRowNo { get; set; } [Parameter] public bool HostColumnMerge { get; set; } [Parameter] public EnumTabs EnumTab { get; set; } private GridDisableFilter GlobalGridDisableFilter = new(); private GridDisableFilter GridDisableFilter = new(); private IList SelectedRow; protected override async Task OnParametersSetAsync() { GlobalGridDisableFilter = configService?.GetConfig()?.GridDisableFilter.Where(x => x.EnumTabs == 1)?.FirstOrDefault(); GridDisableFilter = configService?.GetConfig()?.GridDisableFilter.Where(x => x.EnumTabs == (int)EnumTab)?.FirstOrDefault(); } private void CellRender(DataGridCellRenderEventArgs args) { // if (args.Column.Property == null) // return; // var cellData = args.Data as Overview; // if (cellData is null) // return; // if ((args.Column.Property.ToLower().Equals("testdate") || args.Column.Property.ToLower().Equals("host")) == false) // return; // int index = DataList.ToList().FindIndex(x => x.Equals(args.Data)); // //testdate 컬럼일때 날짜 병합 // if (args.Column.Property.ToLower().Equals("testdate")) // { // int rowCount = 0; // var take = DataList.Skip(index).Cast(); // foreach (var r in take) // { // if (r.TestDate.Value.Date == cellData.TestDate.Value.Date) // { // if (r.ModelName == cellData.ModelName) // { // rowCount += 1; // } // } // else // { // break; // } // } // args.Attributes.Clear(); // if (rowCount > 0) // args.Attributes.Add("rowspan", rowCount); // } // if (args.Column.Property.ToLower().Equals("host")) // { // if (HostColumnMerge == false) // return; // int rowCount = 0; // var take = DataList.Skip(index).Cast(); // foreach (var r in take) // { // if (r.Host == cellData.Host) // { // rowCount += 1; // } // else // { // break; // } // } // args.Attributes.Clear(); // if (rowCount > 0) // args.Attributes.Add("rowspan", rowCount); // } } private async Task SelectRow(TDataModel data) { await OnSelectRow.InvokeAsync(data); } private async Task OnRowDoublClick(DataGridRowMouseEventArgs args) { var selectRow = new SelectRow { Row = args.Data as IDataModel, ParentTabID = ParentTabId }; await OnDoubleClickRow.InvokeAsync(selectRow); } }