Hi ,
When use composite column . created expand match to first row visible columns that make mismatch because in second row may have more column . please refer below generated html to better understand issue . also if set visible to expand column cues problem
i think beside of add count of total visible row should use Max(Sum of colspan of columns)
please assist me or help and suggest any work around
<RadzenDataGrid @ref="GridMaster"
AllowFiltering="true"
FilterMode="Radzen.FilterMode.Advanced"
AllowPaging="true" AllowSorting="true"
Data="@TaskItemsData"
Count="@TaskItemCount"
LoadData=@GridMasterLoadData
RowExpand="RowExpandEvent"
CellRender=@CellRender
RowRender="@RowRender"
EditMode="DataGridEditMode.Single"
SelectionMode="DataGridSelectionMode.Single"
RowDoubleClick="GridMasterRowSelect"
ExpandMode="DataGridExpandMode.Single"
ShowExpandColumn="false"
AllowCompositeDataCells="true"
TItem="ODataDomain.TT.TaskItem">
<Columns>
<RadzenDataGridColumn TItem="ODataDomain.TT.TaskItem" Property="Id" Title="Id" Width="25px">
<Columns>
<RadzenDataGridColumn CssClass="table-col-nopad" TItem="ODataDomain.TT.TaskItem" Filterable="false" Sortable="false" TextAlign="TextAlign.Center" Width="70px">
<Template Context="data">
@{
var iconStyle = IconStyle.Info;
if (data.SubTasks?.Count > 0)
{
iconStyle = IconStyle.Success;
}
<RadzenIcon Icon="add_task" IconStyle="iconStyle" @onclick="(args)=>ExpandRow(data)" Style=""></RadzenIcon>
}
</Template>
</RadzenDataGridColumn>
</Columns>
</RadzenDataGridColumn>
<RadzenDataGridColumn TItem="ODataDomain.TT.TaskItem" Width="40px;" TextAlign="TextAlign.Left" Pickable="true"
HeaderCssClass="verticalRtl" CssClass="vertical-td-rl-dr" Property="TypeId" Title="Type">
<Template Context="data">
<MDropDown AllowClear="false"
PopUpWidth="300px"
Style="background-color:inherit;border-color:transparent;padding:0px;max-width:300px;display:inline-table"
AllowVirtualization=true
AllowFiltering=true
Change="(args)=> DrpTypeItemChange(args,data)"
SelectedItemsText="@data.Type?.Title"
Count="@(TaskTypeData.Where(p=>p.TemplateId == (data.TemplateId != null ? data.TemplateId : 1) ).DistinctBy(p=>p.Id).Count())"
LoadData="(args)=>TypeDataLoad(args,data)"
Name=@($"TDT+{data.Id}")
FilterCaseSensitivity="FilterCaseSensitivity.CaseInsensitive"
Data="@(TaskTypeData.Where(p=>p.TemplateId == (data.TemplateId != null ? data.TemplateId : 1) ).DistinctBy(p=>p.Id))"
@bind-Value=@data.TypeId
TextProperty="Title"
ValueProperty="Id"
class="w-100">
<Template Context="rdm">
<li class="w-100" style="list-style-type:none;">
@((rdm as ODataDomain.TT.TaskType).Title)
</li>
</Template>
</MDropDown>
</Template>
</RadzenDataGridColumn>
<RadzenDataGridColumn TItem="ODataDomain.TT.TaskItem" Property="Title" Title="Title">
<Template Context="data">
<RadzenTextBox class="table-txtbox" @bind-Value="@(data.Title)" Name="Title">
</RadzenTextBox>
</Template>
<Columns>
<RadzenDataGridColumn TItem="ODataDomain.TT.TaskItem" Title="Created By" Property="CreatorId">
<Template Context="data">
<span> @(data.CreatedBy?.Name)</span>
</Template>
</RadzenDataGridColumn>
<RadzenDataGridColumn TItem="ODataDomain.TT.TaskItem" Property="CreatedOn" FormatString="{0:d}" Title="At "></RadzenDataGridColumn>
</Columns>
</RadzenDataGridColumn>
<RadzenDataGridColumn TItem="ODataDomain.TT.TaskItem" Property="TargetEndDate" FormatString="{0:d}" Title="Target End Date">
<Template Context="data">
<RadzenDatePicker InputClass="table-txtbox" DateFormat="d" style="width: 100%; display: block" @bind-Value="@(data.TargetEndDate)" Name="TargetEndDate">
</RadzenDatePicker>
</Template>
</RadzenDataGridColumn>
<RadzenDataGridColumn CssClass="tdDrp" TItem="ODataDomain.TT.TaskItem" Property="StatusId" Title="Status">
<Template Context="data">
<RadzenDropDown AllowClear="false"
Style="background-color:inherit;border-color:transparent"
AllowVirtualization=true
AllowFiltering=true
Change="(args)=> DrpStatusItemChange(args,data)"
SelectedItemsText="@data.Status?.Status"
Count="@(TaskStatusData.Where(p=>p.TemplateId == (data.TemplateId != null ? data.TemplateId : 1) ).DistinctBy(p=>p.Id).Count())"
LoadData="(args)=>StatusDataLoad(args,data)"
Name=@($"TDS+{data.Id}")
FilterCaseSensitivity="FilterCaseSensitivity.CaseInsensitive"
Data="@(TaskStatusData.Where(p=>p.TemplateId == (data.TemplateId != null ? data.TemplateId : 1) ).DistinctBy(p=>p.Id))"
@bind-Value=@data.StatusId
TextProperty="Status" ValueProperty="Id" Class="w-100">
<Template Context="rdm">
<li style="list-style-type:none;width:100%;@((rdm as ODataDomain.TT.TaskStatusItem).DisplayStyle)">
@((rdm as ODataDomain.TT.TaskStatusItem).Status.ToUpper())
</li>
</Template>
</RadzenDropDown>
</Template>
<Columns>
<RadzenDataGridColumn CssClass="tdDrp" TItem="ODataDomain.TT.TaskItem" Property="PriorityId" Title="Priority">
<Template Context="data">
<RadzenDropDown AllowClear="false"
Style="background-color:inherit;border-color:transparent"
AllowVirtualization=true
AllowFiltering=true
Change="(args)=> DrpPriorityItemChange(args,data)"
SelectedItemsText="@data.Priority?.Title"
Count="@(TaskPriorityData.Where(p=>p.TemplateId == (data.TemplateId != null ? data.TemplateId : 1) ).DistinctBy(p=>p.Id).Count())"
LoadData="(args)=>PriorityDataLoad(args,data)"
Name=@($"TDP+{data.Id}")
FilterCaseSensitivity="FilterCaseSensitivity.CaseInsensitive"
Data="@(TaskPriorityData.Where(p=>p.TemplateId == (data.TemplateId != null ? data.TemplateId : 1) ).DistinctBy(p=>p.Id))"
@bind-Value=@data.PriorityId
TextProperty="Status" ValueProperty="Id" Class="w-100">
<Template Context="rdm">
<li style="list-style-type:none;width:100%;@((rdm as ODataDomain.TT.TaskItemPriority).DisplayStyle)">
@((rdm as ODataDomain.TT.TaskItemPriority).Title.ToUpper())
</li>
</Template>
</RadzenDropDown>
</Template>
</RadzenDataGridColumn>
</Columns>
</RadzenDataGridColumn>
<RadzenDataGridColumn TItem="ODataDomain.TT.TaskItem" Property="OwnerId" SortProperty="OwnedBy.Name" GroupProperty="OwnedBy.Name" FilterProperty="OwnedBy.Name" Title="Owner">
<Template Context="data">
@(data.OwnedBy?.Name)
</Template>
<Columns>
<RadzenDataGridColumn TItem="ODataDomain.TT.TaskItem" Property="Handler" Title="Handler">
<Template Context="data">
@if (data.Handler?.Length > 1)
{
@(data.Handler)
}
else
{
@(data.OwnedBy?.Name)
}
</Template>
<EditTemplate Context="ODMTaskItem">
<RadzenTextBox style="width: 100%; display: block" @bind-Value="@(ODMTaskItem.Handler)" Name="Handler">
</RadzenTextBox>
<RadzenRequiredValidator Popup="true" Component="Handler">
</RadzenRequiredValidator>
</EditTemplate>
</RadzenDataGridColumn>
</Columns>
</RadzenDataGridColumn>
<RadzenDataGridColumn TItem="ODataDomain.TT.TaskItem" Property="TeamId" SortProperty="Team.Title" GroupProperty="Team.Title" FilterProperty="Team.Title" Title="Team">
<Template Context="data">
@(data.Team?.Title)
</Template>
<Columns>
<RadzenDataGridColumn TItem="ODataDomain.TT.TaskItem" Property="WorkGroupId" SortProperty="WorkGroup.Title" GroupProperty="WorkGroup.Title" FilterProperty="WorkGroup.Title" Title="Group">
<Template Context="data">
@(data.WorkGroup?.Title)
</Template>
</RadzenDataGridColumn>
</Columns>
</RadzenDataGridColumn>
<RadzenDataGridColumn TItem="ODataDomain.TT.TaskItem" Property="ActualEndDate" FormatString="{0:d}" Title="Actual End Date">
<Template Context="data">
<RadzenDatePicker InputClass="table-txtbox" DateFormat="d" style="width: 100%; display: block" @bind-Value="@(data.ActualEndDate)" Name="ActualEndDate">
</RadzenDatePicker>
</Template>
</RadzenDataGridColumn>
</Columns>
<Template Context="master">
<span id="expandRowChild_@(master.Id)" @onclick="(args)=>RowExpandEvent(master)"></span>
</Template>