![](/img/trans.png)
[英]UserControl inside RadGridView Child Row - Telerik Winforms
[英]hide specified columns for each parent row child rows when exporting to excel in telerik radgridview ui winform
我的winform
應用程序中有一個分層的telerik gridview
。 在這個gridview
主模板中,我有一些行,每個行都有子行,並且在某些列中該父行的所有子行的null都為零。
我寫了一段代碼,只允許擴展一個父行,並且在擴展該父行時,只顯示至少在一個子行中具有值的列,並使用radGridView1_ChildViewExpanded
事件處理程序隱藏該子行的子行全為空的列。
我的問題是當我想將此分層telerik gridview
導出到Excel文件時。 為了達到我所描述的,我在導出時應該做什么,意味着僅導出其子行中至少具有一個值的列,而不為每個父行導出其他列。
為此,您可以使用GridViewSpreadExport的HiddenRowOption屬性並將其設置為DoNotExport 。 然后,要定義隱藏的行,請將其IsVisible屬性設置為false
radGridView1.Rows[0].IsVisible = false;
有關此問題的更多信息,請參見Telerik UI for WinForms文檔的以下文章: 導出到Excel
我使用了這段代碼,它起作用了
void spreadExporter_CellFormatting(object sender, Telerik.WinControls.Export.CellFormattingEventArgs e)
{
if (e.GridRowInfoType == typeof(GridViewHierarchyRowInfo))
{
int i = 0;
foreach (GridViewColumn column in radGridView1.MasterTemplate.Templates[0].Columns)
{
if (i > 1)
{
int TotalNullRecords = (from row in e.GridCellInfo.RowInfo.ChildRows
where string.IsNullOrWhiteSpace(row.Cells[column.Name].Value.ToString())
select row).ToList().Count;
if (TotalNullRecords == e.GridCellInfo.RowInfo.ChildRows.Count)
{
radGridView1.MasterTemplate.Templates[0].Columns[column.Name].IsVisible = false;
}
else
radGridView1.MasterTemplate.Templates[0].Columns[column.Name].IsVisible = true;
}
i++;
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.