Visual Basic (Declaration) | |
---|---|
Public Overridable Function GetEditorValue( _ ByVal owner As Control, _ ByVal id As String _ ) As Object |
Visual Basic (Usage) | Copy Code |
---|---|
Dim instance As BaseCellType Dim owner As Control Dim id As String Dim value As Object value = instance.GetEditorValue(owner, id) |
Parameters
- owner
- FpSpread component that owns this editor control
- id
- Unique identifier used by the FpSpread component to identify this editor control
Return Value
Object containing the value from the editor controlThis example subclasses the BaseCellType class and creates a custom cell type for the first cell in the spreadsheet. By double-clicking on the cell a new editor appears and the color of the cell can be changed by editing the RGB values in the editor.
C# | Copy Code |
---|---|
[Serializable()] classbcType:FarPoint.Web.Spread.BaseCellType { PublicoverridestringFormat(objecto) { ReturnBase.Format(o); } PublicoverrideControlGetEditorControl(stringid,TableCellparent,FarPoint.Web.Spread.Appearancestyle,FarPoint.Web.Spread.Insetmargin,objectv,boolul) { stringval=null,val1="",val2="",val3=""; If(v!=null) { val=v.ToString(); string[]colors=val.ToString().Split(Newchar[]{','}); If(colors.Length==3) { val1=colors[0].Trim(); val2=colors[1].Trim(); val3=colors[2].Trim(); } } Tabletable=NewTable(); table.CellPadding=0; table.CellSpacing=0; table.BorderWidth=0; TableRowrow=NewTableRow(); table.Rows.Add(row); TextBoxtb=NewTextBox(); tb.Text=val1; tb.Columns=3; If(ul) tb.Attributes.Add("MyEditorComp","Red"); If(id!=null) tb.ID=id+"c1"; TableCellcell=NewTableCell(); row.Cells.Add(cell); cell.Controls.Add(tb); tb=NewTextBox(); tb.Text=val2; tb.Columns=3; If(ul) tb.Attributes.Add("MyEditorComp","Green"); If(id!=null) tb.ID=id+"c2"; cell=NewTableCell(); row.Cells.Add(cell); cell.Controls.Add(tb); tb=NewTextBox(); tb.Text=val3; tb.Columns=3; If(ul) tb.Attributes.Add("MyEditorComp","Blue"); If(id!=null) tb.ID=id+"c3"; cell=NewTableCell(); row.Cells.Add(cell); cell.Controls.Add(tb); Returntable; } PublicoverrideobjectGetEditorValue(Controlowner,stringid) { ReturnBase.GetEditorValue(owner,id); } PublicoverrideBaseValidatorGetValidator() { ReturnBase.GetValidator(); } PublicoverrideControlPaintCell(stringid,TableCellparent,FarPoint.Web.Spread.Appearancestyle,FarPoint.Web.Spread.Insetmargin,objectval,boolul) { ApplyStyleTo(parent,style,margin,True); System.Web.UI.WebControls.Panelp=NewSystem.Web.UI.WebControls.Panel(); p.Controls.Add(NewLiteralControl("Double-Click")); p.BackColor=Color.Red; p.BorderStyle=BorderStyle.Solid; p.BorderColor=Color.Black; Returnp; } PublicoverrideobjectParse(strings) { ReturnBase.Parse(s); } NewPublicboolValidateEditorValue(objectval,outstringreason) { ReturnBase.ValidateEditorValue(val,outreason); } PublicoverridestringEditorClientScriptUrl{Get{Return"MyEditorScript.htc";}} PublicoverridestringRendererClientScriptUrl{Get{Return"MyRenderScript.htc";}} } PrivatevoidPage_Load(objectsender,System.EventArgse) { bcTypecell=NewbcType(); FpSpread1.ActiveSheetView.Cells[0,0].CellType=cell; FpSpread1.ActiveSheetView.Columns[0].Width=130; FpSpread1.ActiveSheetView.Rows[0].Height=40; |
Visual Basic | Copy Code |
---|---|
<Serializable()>PublicClassbcType InheritsFarPoint.Web.Spread.BaseCellType PublicOverridesFunctionFormat(ByValoAsObject)AsString ReturnMyBase.Format(o) EndFunction PublicOverridesFunctionGetEditorValue(ByValownerAsControl,ByValidAsString)AsObject ReturnMyBase.GetEditorValue(owner,id) EndFunction PublicOverridesFunctionGetValidator()AsBaseValidator ReturnMyBase.GetValidator EndFunction PublicOverridesFunctionPaintCell(ByValidAsString,ByValparentAsTableCell,ByValstyleAsFarPoint.Web.Spread.Appearance,ByValmarginAsFarPoint.Web.Spread.Inset,ByValvalAsObject,ByValulAsBoolean)AsSystem.Web.UI.Control ApplyStyleTo(parent,style,margin,True) DimpAsNewSystem.Web.UI.WebControls.Panel() p.Controls.Add(NewLiteralControl("Double-Click")) p.BackColor=Color.Red p.BorderStyle=BorderStyle.Solid p.BorderColor=Color.Black Returnp EndFunction PublicOverridesFunctionParse(ByValsAsString)AsObject ReturnMyBase.Parse(s) EndFunction PublicOverridesFunctionValidateEditorValue(ByValvalAsObject,ByRefreasonAsString)AsBoolean ReturnMyBase.ValidateEditorValue(val,reason) EndFunction PublicOverridesReadOnlyPropertyEditorClientScriptUrl()AsString Get Return"MyEditorScript.htc" EndGet EndProperty PublicOverridesReadOnlyPropertyRendererClientScriptUrl()AsString Get Return"MyRenderScript.htc" EndGet EndProperty PublicOverridesFunctionGetEditorControl(ByValidAsString,ByValtcAsTableCell,ByValstyleAsFarPoint.Web.Spread.Appearance,ByValmarginAsFarPoint.Web.Spread.Inset,ByValvAsObject,ByValulAsBoolean)AsSystem.Web.UI.Control DimvalAsString=Nothing Dimval1AsString="" Dimval2AsString="" Dimval3AsString="" DimuAsNewSystem.Web.UI.WebControls.Unit(0) WhileNotv=Nothing val=v.ToString() Dimcolors()AsString=val.ToString().Split(",",3) Ifcolors.Length=3Then val1=colors(0).Trim() val2=colors(1).Trim() val3=colors(2).Trim() EndIf EndWhile DimtableAsNewTable() table.CellPadding=0 table.CellSpacing=0 table.BorderWidth=u DimrowAsNewTableRow() table.Rows.Add(row) DimtbAsNewTextBox() tb.Text=val1 tb.Columns=3 IfulThen tb.Attributes.Add("MyEditorComp","Red") EndIf WhileNotid=Nothing tb.ID=id+"c1" EndWhile DimcellAsNewTableCell() row.Cells.Add(cell) cell.Controls.Add(tb) tb=NewTextBox() tb.Text=val2 tb.Columns=3 IfulThen tb.Attributes.Add("MyEditorComp","Green") EndIf WhileNotid=Nothing tb.ID=id+"c2" EndWhile cell=NewTableCell() row.Cells.Add(cell) cell.Controls.Add(tb) tb=NewTextBox() tb.Text=val3 tb.Columns=3 IfulThen tb.Attributes.Add("MyEditorComp","Blue") EndIf WhileNotid=Nothing tb.ID=id+"c3" EndWhile cell=NewTableCell() row.Cells.Add(cell) cell.Controls.Add(tb) Returntable EndFunction EndClass PrivateSubPage_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load DimcellAsNewbcType() FpSpread1.ActiveSheetView.Cells(0,0).CellType=cell FpSpread1.ActiveSheetView.Columns(0).Width=130 FpSpread1.ActiveSheetView.Rows(0).Height=40 EndSub |
Target Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, Windows Vista, Windows Server 2008 family