这篇文章分享怎样在 Cell 中添加自定义控件。
1.实现方法:
a.继承 BaseCellType 创建自定单元格类型。
b.重载 PaintCell 和 GetEditorControl 方法添加自定义控件。
2.具体实现步骤:
a.创建用户自定义控件 - UserControl,我在这里添加了 FileUpload 和 Calendar 标准控件。
效果图:
自定义单元格类型,代码如下:
[Serializable]
public class TestWebControlInCell : FarPoint.Web.Spread.BaseCellType
{
public override Control PaintCell(string id, TableCell parent, FarPoint.Web.Spread.Appearance style, FarPoint.Web.Spread.Inset margin, object value, bool upperLevel)
{
Control twc;
twc = parent.Page.LoadControl("WebUserControl1.ascx");
twc.ID = "NewID";
return twc;
}
public override Control GetEditorControl(string id, TableCell parent, FarPoint.Web.Spread.Appearance style, FarPoint.Web.Spread.Inset margin, object value, bool upperLevel)
{
return null;
}
}
复制代码
c.应用单元格类型到 Cell 上,代码如下:
protected void Page_Load(object sender, EventArgs e)
{
TestWebControlInCell usercontrol = new TestWebControlInCell();
this.FpSpread1.ActiveSheetView.Cells[0, 0].CellType = usercontrol;
this.FpSpread1.ActiveSheetView.Columns[0].Width = 300;
this.FpSpread1.ActiveSheetView.Rows[0].Height = 300;
}
复制代码
Demo 下载:
编辑环境:VS2010 && Spread for ASP.NET 5.0