许多用户都问到,能不能在 CommandBar 添加自定义按钮,去实现特殊的功能?
下面这篇文章将展示如何在 CommandBar 添加自定义按钮,及如何使用自定义按钮调用前台和后台事件:
主要步骤:
1.添加 Spread ButtonCommand 事件,提供 自定义 button 调用。
2. 重载 Render 添加自定义按钮:
protected override void Render(HtmlTextWriter writer) { Table table = FpSpread1.FindControl("cmdTable") as Table; //自定义按钮调用前台事件 DropDownList changepage = new DropDownList(); changepage.ID = "pageindex"; changepage.Items.Add("1"); changepage.Items.Add("2"); changepage.Items.Add("3"); changepage.Items.Add("4"); changepage.Items.Add("5"); changepage.Attributes.Add("onchange", "change()"); TableCell cell2 = new TableCell(); cell2.Controls.Add(changepage); table.Rows[0].Cells.Add(cell2); //自定义按钮调用后台事件 TableCell cell1 = new TableCell(); Button btn1 = new Button(); btn1.Text = "自定义按钮"; btn1.Text = "Button1"; btn1.Attributes.Add("onclick", ClientScript.GetPostBackEventReference(FpSpread1, "BtnCommand,-1,-1") + "; return false;"); cell1.Controls.Add(btn1); table.Rows[0].Cells.Add(cell1); base.Render(writer); } 复制代码
3.DropDownList 前台函数代码:
-
<script type="text/javascript"> function change() { var pageindex = document.getElementById("FpSpread1_pageindex").value-1; FpSpread1.CallBack("Page,"+pageindex); return false; } </script> 复制代码
效果图:
测试环境:VS2010 + Srpead for ASP.NET V5.0.3524.2008