I am using WCF Dataservices so I have hierarchical data...Some of my values are coming back with null and I am getting "Input String was not in a correct format"...I am trying to handle the null values in the radgrid_ItemDatabound, but I am still having problems...How SHOULD I be handling null values in the radgrid column.
RadGrid HTML:
Here is my item databound event...
RadGrid HTML:
<
telerik:RadGrid
ID
=
"radgridCredits"
runat
=
"server"
AllowFilteringByColumn
=
"True"
<BR>
AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False"
CellSpacing="0"<
BR
>
GridLines="None" Height="270px"
OnNeedDataSource="radgridCredits_NeedDataSource"<
BR
>
OnSelectedIndexChanged="radgridCredits_SelectedIndexChanged"
OnItemDataBound="radgridCredits_ItemDatabound" PageSize="100"
ShowGroupPanel="True"<
BR
>
Visible="False"
Width="100%"><
BR
>
<
ClientSettings
AllowDragToGroup
=
"True"
><
BR
>
<
Scrolling
AllowScroll
=
"True"
UseStaticHeaders
=
"True"
/><
BR
>
</
ClientSettings
><
BR
>
<
MasterTableView
><
BR
>
<
CommandItemSettings
ExportToPdfText
=
"Export to Pdf"
/><
BR
>
<
Columns
><
BR
>
<
telerik:GridButtonColumn
CommandName
=
"Select"
DataTextField
=
"Show.Title"
FilterControlAltText="Filter column2
column"<BR>
HeaderText="Show" SortExpression="Show.Title"
UniqueName="column2"><
BR
>
<
HeaderStyle
Width
=
"25%"
/><
BR
>
<
ItemStyle
Width
=
"25%"
VerticalAlign
=
"Top"
/><
BR
>
</
telerik:GridButtonColumn
><
BR
>
<
telerik:GridBoundColumn
DataField
=
"Show.Medium.name"
FilterControlAltText="Filter TalentColumn
column"<BR>
FilterControlWidth="50px" HeaderText="Media"
SortExpression="Show.Medium.name"<
BR
>
UniqueName="TalentColumn"><
BR
>
<
HeaderStyle
Width
=
"9%"
/><
BR
>
<
ItemStyle
VerticalAlign
=
"Top"
Width
=
"9%"
/><
BR
>
</
telerik:GridBoundColumn
><
BR
>
<
telerik:GridBoundColumn
DataField
=
"Craft.name"
FilterControlAltText="Filter
column1
column"<BR>
FilterControlWidth="75px" HeaderText="Craft" SortExpression="Craft.name"
UniqueName="column1"><
BR
>
<
HeaderStyle
Width
=
"15%"
/><
BR
>
<
ItemStyle
Width
=
"15%"
VerticalAlign
=
"Top"
/><
BR
>
</
telerik:GridBoundColumn
><
BR
>
<
telerik:GridBoundColumn
DataField
=
"Show.Project.us_bor"
DataFormatString
=
"${C:0}"
FilterControlAltText="Box
Office"<BR>
FilterControlWidth="50px" HeaderText="US BO(US$)"
SortExpression="Show.Project.us_bor"<
BR
>
UniqueName="colBoxOffice"><
BR
>
<
HeaderStyle
Width
=
"8%"
/><
BR
>
<
ItemStyle
Width
=
"8%"
VerticalAlign
=
"Top"
/><
BR
>
</
telerik:GridBoundColumn
><
BR
>
<
telerik:GridBoundColumn
DataField
=
"Show.Project.ProdHouse.name"
FilterControlAltText="Filter column3
column"<BR>
HeaderText="Production House" SortExpression="Show.Project.ProdHouse.name"
UniqueName="column3"><
BR
>
<
HeaderStyle
Width
=
"12%"
/><
BR
>
<
ItemStyle
Width
=
"12%"
VerticalAlign
=
"Top"
/><
BR
>
</
telerik:GridBoundColumn
><
BR
>
<
telerik:GridBoundColumn
DataField
=
"comment"
FilterControlAltText="Filter
column4
column"<BR>
HeaderText="Comment" SortExpression="comment"
UniqueName="colComment"><
BR
>
<
HeaderStyle
Width
=
"22%"
/><
BR
>
<
ItemStyle
Width
=
"22%"
VerticalAlign
=
"Top"
/><
BR
>
</
telerik:GridBoundColumn
><
BR
>
<
telerik:GridBoundColumn
DataField
=
"Show.year"
FilterControlAltText="Filter
column5
column"<BR>
FilterControlWidth="40px" HeaderText="Year" SortExpression="Show.year"
UniqueName="column5"><
BR
>
<
ItemStyle
VerticalAlign
=
"Top"
/><
BR
>
</
telerik:GridBoundColumn
><
BR
>
</
Columns
><
BR
>
<
EditFormSettings
><
BR
>
<
EditColumn
FilterControlAltText="Filter EditCommandColumn
column"><
BR
>
</
EditColumn
><
BR
>
</
EditFormSettings
><
BR
>
</
MasterTableView
><
BR
>
<
FilterMenu
EnableImageSprites
=
"False"
><
BR
>
</
FilterMenu
><
BR
>
<
HeaderContextMenu
CssClass="GridContextMenu
GridContextMenu_Default"><
BR
>
</
HeaderContextMenu
><
BR
>
</
telerik:RadGrid
>
Here is my item databound event...
<P>
protected
void
radgridCredits_ItemDatabound(
object
sender,
GridItemEventArgs e)<BR>
{<BR>
try
<BR>
{<BR>
if
((e.Item.ItemType == Telerik.Web.UI.GridItemType.Item)
||<BR>
(e.Item.ItemType ==
Telerik.Web.UI.GridItemType.AlternatingItem))<BR>
{<BR>
if
(e.Item
is
GridDataItem)<BR>
{<BR>
GridDataItem gridDataItem =
(GridDataItem)e.Item;<BR>
Credit credit = (Credit)(e.Item.DataItem);</P>
<P>
if
(!credit.Show.title.ToLower().Contains("select a
talent"))<BR>
{<BR>
if
(credit.comment ==
null
)<BR>
{<BR>
gridDataItem[
"colComment"
].Text =
""
;<BR>
}<BR>
if
(credit.Show.Project.us_bor ==
null
)<BR>
{<BR>
gridDataItem[
"colBoxOffice"
].Text =
""
;<BR>
}<BR>
}<BR>
} </P>
<P>
// Telerik.Web.UI.GridDataItem item = e.Item as
Telerik.Web.UI.GridDataItem;<BR>
//Credit credit =
(Credit)e.Item.DataItem;<BR>
//if
(credit.comment==
null
)<BR>
//{<BR>
// credit.comment =
""
;<BR>
//}<BR>
//if (credit.Show.Project.us_bor ==
null
)<BR>
//{<BR>
// credit.Show.Project.us_bor =
0m;<BR>
//}<BR>
//Get the "colDivision" cell value using the columnUniqueName.
<BR>
//if (item["comment"].Text ==
null
)<BR>
//{<BR>
// item["comment"].Text =
""
;<BR>
//}<BR>
}
<BR>
<BR>
}<BR>
catch
(Exception
ex)<BR>
{<BR>
SiteMaster masterPage =
(SiteMaster)Page.Master;<BR>
masterPage.SetAlertMessage(
"Error fetching Talent Credits: "
+
ex.Message);<BR>
return
;<BR>
}<BR> }</P><BR>