Spread ASP.NET 6.0 Product Documentation
Parse Method
See Also  Example Send Feedback
FarPoint.Web.Spread Assembly > FarPoint.Web.Spread Namespace > BaseCellType Class : Parse Method


s
String from the cell on the sheet to parse

Glossary Item Box

When deriving a cell type based on this type, override this to change what gets parsed from the cell on the sheet and put in the data model.

Syntax

Visual Basic (Declaration) 
Public Overridable Function Parse( _
   ByVal s As String _
) As Object
Visual Basic (Usage)Copy Code
Dim instance As BaseCellType
Dim s As String
Dim value As Object
 
value = instance.Parse(s)
C# 
public virtual object Parse( 
   string s
)

Parameters

s
String from the cell on the sheet to parse

Return Value

Results of the parsing to put as an object in the data model

Example

This 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 BasicCopy 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

Requirements

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

See Also

© 2002-2012 GrapeCity, Inc. All Rights Reserved.