许多用户都问到,能不能在 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