I have used the NestedView several times but this is the first time I see this error.
I have a RadChar and a RadGrid in the nested and when I click on any row at first time, then the nested doesn't open, but after, I can open all nested.
ASPX
CS
Or try
CS
I have a RadChar and a RadGrid in the nested and when I click on any row at first time, then the nested doesn't open, but after, I can open all nested.
- I tried change de databind of radchart on OnItemCommand and but not work
- If I remove de ajax it works prefectly
- The subRadGrid created in the nested work, and do databind in the OnItemDataBound correctly
ASPX
<
telerik:RadGrid
ID
=
"RadGridInfoRecharges"
OnItemCommand
=
"RadGridInfoRecharges_ItemCommand"
OnItemDataBound
=
"RadGrid1_ItemDataBound"
Skin
=
"Default"
runat
=
"server"
AutoGenerateColumns
=
"False"
AllowPaging
=
"True"
GridLines
=
"Horizontal"
CssClass
=
"groupBox"
>
<
ExportSettings
ExportOnlyData
=
"false"
FileName
=
"Recharges"
IgnorePaging
=
"true"
OpenInNewWindow
=
"True"
>
<
Csv
ColumnDelimiter
=
"Semicolon"
/>
</
ExportSettings
>
<
MasterTableView
DataSourceID
=
"ObjectDataSourceGetRecharges"
PageSize
=
"50"
DataKeyNames
=
"OwnerId"
>
<
NestedViewTemplate
>
<
asp:Panel
ID
=
"NestedViewPanel"
CssClass
=
"InfoRechargesDetails"
runat
=
"server"
>
<
telerik:RadGrid
ID
=
"RadGridInfoRechargesNested"
Skin
=
"Default"
runat
=
"server"
AutoGenerateColumns
=
"False"
AllowPaging
=
"False"
GridLines
=
"Horizontal"
>
<
MasterTableView
>
<
Columns
>
<
telerik:GridBoundColumn
HeaderText
=
"Credit"
DataFormatString
=
"{0:N0}"
DataField
=
"Credit"
UniqueName
=
"Credit"
></
telerik:GridBoundColumn
>
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
>
<
telerik:RadChart
ID
=
"rcRechargesStatisticsRecharges"
Width
=
"900"
Height
=
"300"
runat
=
"server"
DefaultType
=
"Line"
Legend-Appearance-Visible
=
"false"
Legend-Visible
=
"false"
BorderWidth
=
"0"
>
</
telerik:RadChart
>
</
asp:Panel
>
</
NestedViewTemplate
>
<
ExpandCollapseColumn
Visible
=
"True"
></
ExpandCollapseColumn
>
<
Columns
>
<
telerik:GridBoundColumn
HeaderText
=
"OwnerId"
ItemStyle-HorizontalAlign
=
"Right"
DataField
=
"OwnerId"
UniqueName
=
"OwnerId"
></
telerik:GridBoundColumn
>
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
>
CS
ItemDataBound
protected
void
RadGrid1_ItemDataBound(
object
sender, GridItemEventArgs e)
{
if
(e.Item
is
GridNestedViewItem)
{
int
OwnerId = ((RechargeItemByContract)e.Item.DataItem).OwnerId;
RadChart rcRechargesStatisticsRecharges = (RadChart)e.Item.FindControl(
"rcRechargesStatisticsRecharges"
);
RadChart rcRechargesStatisticsPrices = (RadChart)e.Item.FindControl(
"rcRechargesStatisticsPrices"
);
// DATA
List<RechargeItemLite> Data = RechargesBLL.GetRechargeItemLite(OwnerId);
if
(Data.Count > 1)
{
rcRechargesStatisticsRecharges.PlotArea.XAxis.Appearance.ValueFormat = Telerik.Charting.Styles.ChartValueFormat.ShortDate;
rcRechargesStatisticsRecharges.PlotArea.XAxis.Appearance.LabelAppearance.RotationAngle = 45;
rcRechargesStatisticsRecharges.PlotArea.XAxis.AutoScale =
false
;
rcRechargesStatisticsRecharges.PlotArea.XAxis.IsZeroBased =
false
;
rcRechargesStatisticsRecharges.Legend.Visible =
false
;
rcRechargesStatisticsRecharges.ChartTitle.TextBlock.Text =
"Creditos por recarga"
;
rcRechargesStatisticsRecharges.DataSource = Data;
double
steps = (Data[0].OADate - Data[Data.Count - 1].OADate) / Data.Count;
rcRechargesStatisticsRecharges.PlotArea.XAxis.AddRange(Data[Data.Count - 1].OADate, Data[0].OADate, steps);
rcRechargesStatisticsRecharges.DataBind();
rcRechargesStatisticsRecharges.Series[0].DataXColumn =
"OADate"
;
rcRechargesStatisticsRecharges.Series[1].Visible =
false
;
rcRechargesStatisticsRecharges.Series[2].Visible =
false
;
rcRechargesStatisticsRecharges.Visible =
true
;
}
else
rcRechargesStatisticsRecharges.Visible =
false
;
Or try
CS
ItemComman
protected
void
RadGridInfoRecharges_ItemCommand(
object
source, GridCommandEventArgs e)
{
// cazar el evento del expand/collapse
if
(e.CommandName == RadGrid.ExpandCollapseCommandName)
{
// Si el nestview no esta expandido significa que ahora es se expandera
if
(!e.Item.Expanded)
{
#region declaraciones controles
RadGrid RadGridInfoRechargesNested = (RadGrid)((GridDataItem)e.Item).ChildItem.FindControl(
"RadGridInfoRechargesNested"
);
RadChart rcRechargesStatisticsRecharges = (RadChart)((GridDataItem)e.Item).ChildItem.FindControl(
"rcRechargesStatisticsRecharges"
);
RadChart rcRechargesStatisticsPrices = (RadChart)((GridDataItem)e.Item).ChildItem.FindControl(
"rcRechargesStatisticsPrices"
);
#endregion
// Extraemos la información de DataKeyValue desde la grid principal
int
OwnerId = (
int
)((GridDataItem)e.Item).GetDataKeyValue(
"OwnerId"
);
// DATA
List<RechargeItemLite> Data = RechargesBLL.GetRechargeItemLite(OwnerId);
RadGridInfoRechargesNested.DataSource = Data;
RadGridInfoRechargesNested.DataBind();
if
(Data.Count > 1)
{
rcRechargesStatisticsRecharges.PlotArea.XAxis.Appearance.ValueFormat = Telerik.Charting.Styles.ChartValueFormat.ShortDate;
rcRechargesStatisticsRecharges.PlotArea.XAxis.Appearance.LabelAppearance.RotationAngle = 45;
rcRechargesStatisticsRecharges.PlotArea.XAxis.AutoScale =
false
;
rcRechargesStatisticsRecharges.PlotArea.XAxis.IsZeroBased =
false
;
rcRechargesStatisticsRecharges.Legend.Visible =
false
;
rcRechargesStatisticsRecharges.ChartTitle.TextBlock.Text =
"Creditos por recarga"
;
rcRechargesStatisticsRecharges.DataSource = Data;
double
steps = (Data[0].OADate - Data[Data.Count - 1].OADate) / Data.Count;
rcRechargesStatisticsRecharges.PlotArea.XAxis.AddRange(Data[Data.Count - 1].OADate, Data[0].OADate, steps);
rcRechargesStatisticsRecharges.DataBind();
rcRechargesStatisticsRecharges.Series[0].DataXColumn =
"OADate"
;
rcRechargesStatisticsRecharges.Series[1].Visible =
false
;
rcRechargesStatisticsRecharges.Series[2].Visible =
false
;
rcRechargesStatisticsRecharges.Visible =
true
;
}
else
rcRechargesStatisticsRecharges.Visible =
false
;