using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using FarPoint.Web.Spread;
using System.Drawing;
public partial class SampleCode_Sample1 : System.Web.UI.Page
{
private void Page_Load(object sender,System.EventArgs e)
{
var bcTypecell=new bcType();
FpSpread1.ActiveSheetView.Cells[0,0].CellType=bcTypecell;
FpSpread1.ActiveSheetView.Columns[0].Width=130;
FpSpread1.ActiveSheetView.Rows[0].Height=40;
}
}
[Serializable()]
class bcType:FarPoint.Web.Spread.BaseCellType
{
public override string Format(object o)
{
return base.Format(o);
}
public override Control GetEditorControl(string id,TableCell parent,FarPoint.Web.Spread.Appearance style,FarPoint.Web.Spread.Inset margin,object v,bool ul)
{
string val=null,val1="",val2="",val3="";
if(v!=null)
{
val=v.ToString();
string[]colors=val.ToString().Split(new char[]{','});
if(colors.Length==3)
{
val1=colors[0].Trim();
val2=colors[1].Trim();
val3=colors[2].Trim();
}
}
Table table= new Table();
table.CellPadding=0;
table.CellSpacing=0;
table.BorderWidth=0;
TableRow row=new TableRow();
table.Rows.Add(row);
TextBox tb=new TextBox();
tb.Text=val1;
tb.Columns=3;
if(ul)
tb.Attributes.Add("MyEditorComp","Red");
if(id!=null)
tb.ID=id+"c1";
TableCell cell=new TableCell();
row.Cells.Add(cell);
cell.Controls.Add(tb);
tb=new TextBox();
tb.Text=val2;
tb.Columns=3;
if(ul)
tb.Attributes.Add("MyEditorComp","Green");
if(id!=null)
tb.ID=id+"c2";
cell=new TableCell();
row.Cells.Add(cell);
cell.Controls.Add(tb);
tb=new TextBox();
tb.Text=val3;
tb.Columns=3;
if(ul)
tb.Attributes.Add("MyEditorComp","Blue");
if(id!=null)
tb.ID=id+"c3";
cell=new TableCell();
row.Cells.Add(cell);
cell.Controls.Add(tb);
return table;
}
public override object GetEditorValue(Control owner,string id)
{
return base.GetEditorValue(owner,id);
}
public override BaseValidator GetValidator()
{
return base.GetValidator();
}
public override Control PaintCell(string id,TableCell parent,FarPoint.Web.Spread.Appearance style,FarPoint.Web.Spread.Inset margin,object val,bool ul)
{
ApplyStyleTo(parent,style,margin,true);
System.Web.UI.WebControls.Panel p=new System.Web.UI.WebControls.Panel();
p.Controls.Add(new LiteralControl("Double-Click"));
p.BackColor=Color.Red;
p.BorderStyle=BorderStyle.Solid;
p.BorderColor=Color.Black;
return p;
}
public override object Parse(string s)
{
return base.Parse(s);
}
public override string ValidateEditorValue(object val)
{
return base.ValidateEditorValue(val);
}
public override string EditorClientScriptUrl{get{return "MyEditorScript.htc";}}
public override string RendererClientScriptUrl{get{return "MyRenderScript.htc";}}
}