【发布时间】:2012-01-12 13:15:22
【问题描述】:
我有一个简单的类继承RadGrid。我正在向 RadGrid 添加一个按钮,并向该按钮添加一个 Click 事件处理程序。按钮已正确添加到所需位置,并且单击事件处理程序正在触发,但 radGrid.ExportToExcel() 没有做任何事情。事实上,在点击和页面回发时,按钮会消失。为什么会这样?
我尝试将按钮控件添加到Page.Form 控件集合中,但仍然没有任何反应。
[ToolboxData("<{0}:RadGridDp runat=server></{0}:RadGridDp>")]
public class RadGridDP : RadGrid
{
public RadGridDP()
{
}
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
Button btnExport = new Button();
btnExport.ID = "Export";
btnExport.Text = "Export";
btnExport.Click += new EventHandler(btnExport_Click);
btnExport.CommandArgument = this.ID;
this.MasterTableView.Controls.Add(btnExport);
}
void btnExport_Click(object sender, EventArgs e)
{
Button btnExport = (Button)sender;
string RadGridId = btnExport.CommandArgument.ToString();
RadGridDP radGrid = (RadGridDP)this.Parent.Parent.FindControl(RadGridId);
radGrid.ExportSettings.IgnorePaging = true;
radGrid.ExportSettings.OpenInNewWindow = true;
radGrid.ExportSettings.ExportOnlyData = true;
radGrid.MasterTableView.ExportToExcel();
}
}
当我在 UserControl 中做同样的事情并在任何页面上使用 UserControl 时,它工作正常。有什么区别?
【问题讨论】: