如何在导出Telerik Gridview WPF之前隐藏一些列

时间:2014-05-06 12:57:05

标签: c# wpf gridview telerik

我有一个包含数据的RadGridView(Telerik)。我想隐藏一些用于导出的列。

所有解决方案都说:

this.radGridView1.MasterTableView.FindByName("something").Display = false;

这个asp.NET代码,但我使用的是WPF,并没有这样的功能。 也在做

this.radGridView1.Columns["something"].IsVisible = false;

不起作用。

1 个答案:

答案 0 :(得分:0)

我不确定这对你是否有帮助,但这就是我设法在ASP中隐藏列的方法:

protected void ExpExcel_Click(object sender, EventArgs e)
{
    foreach (GridColumn col in RadGrid1.MasterTableView.Columns)
    {
//here is where the columns get hidden
        if (col.UniqueName.Contains("notes") || (col.UniqueName.Contains("EditCommandColumn")) ||
            (col.UniqueName.Contains("column1")))
        {
            col.Display = false;
        }
        else
        {
            col.Display = true;
        }
    }
    foreach (GridFilteringItem item in RadGrid1.MasterTableView.GetItems(GridItemType.FilteringItem))

    item.Visible = false;
    RadGrid1.ExportSettings.FileName = "OffersData_"+DatetimeHelper.CETDateTimeNow();
    RadGrid1.ExportSettings.ExportOnlyData = true;
    RadGrid1.ExportSettings.Excel.Format = Telerik.Web.UI.GridExcelExportFormat.ExcelML;
    RadGrid1.MasterTableView.Columns.FindByUniqueName("chancesy").HeaderText = "Chances y [%]";
    RadGrid1.MasterTableView.Columns.FindByUniqueName("chancesx").HeaderText = "Chances x [%]";
    RadGrid1.MasterTableView.Columns.FindByUniqueName("valuey").HeaderText = "Value z [€]";
    RadGrid1.MasterTableView.Columns.FindByUniqueName("valuex").HeaderText = "Value z [€]";
    RadGrid1.MasterTableView.Columns.FindByUniqueName("marginy").HeaderText = "Margins y [%]";
    RadGrid1.MasterTableView.Columns.FindByUniqueName("marginx").HeaderText = "Margins x [%]";

    RadGrid1.MasterTableView.ExportToExcel();

}