Barbaros Saglamtimur
Top achievements
Rank 1
Barbaros Saglamtimur
asked on 03 May 2013, 09:34 AM
Hi,
I would like get PivotGridRowHeaderCell's parent in CellDataBound event. For visual explanation see attached image.
TIA
I would like get PivotGridRowHeaderCell's parent in CellDataBound event. For visual explanation see attached image.
TIA
4 Answers, 1 is accepted
0
Hello,
This is achievable by obtaining a reference to the ParentIndexes collection of the PivotGridRowHeaderCell. It returns an array of the names of parent fields of a given header cell.
Regards,
Angel Petrov
the Telerik team
This is achievable by obtaining a reference to the ParentIndexes collection of the PivotGridRowHeaderCell. It returns an array of the names of parent fields of a given header cell.
Regards,
Angel Petrov
the Telerik team
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now.
0
Barbaros Saglamtimur
Top achievements
Rank 1
answered on 15 May 2013, 07:05 AM
Thanks for your reply,
I already found it, but ParentIndexes returns array of DataItems, I need field properties as-well. So List<PivotGridCell> would be super.
I already found it, but ParentIndexes returns array of DataItems, I need field properties as-well. So List<PivotGridCell> would be super.
0
Hi Barbaros,
I am sorry to say but with the current implementation of the control returning a list of PivotGridCells is not possible. What you can do is access the field like demonstrated in the code snippet below:
All the best,
Angel Petrov
the Telerik team
I am sorry to say but with the current implementation of the control returning a list of PivotGridCells is not possible. What you can do is access the field like demonstrated in the code snippet below:
protected
void
RadPivotGrid2_CellDataBound(
object
sender, PivotGridCellDataBoundEventArgs e)
{
if
(e.Cell
is
PivotGridRowHeaderCell)
{
PivotGridRowHeaderCell cell = e.Cell
as
PivotGridRowHeaderCell;
List<PivotGridField> rowFields = RadPivotGrid2.Fields.Where(x=>x
is
PivotGridRowField).ToList();
rowFields.OrderBy(x => x.ZoneIndex);
int
index=rowFields.IndexOf(cell.Field);
PivotGridField field = rowFields[index - 1];
}
}
All the best,
Angel Petrov
the Telerik team
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now.
0
Barbaros Saglamtimur
Top achievements
Rank 1
answered on 20 May 2013, 07:49 AM
Thanks for your reply. I have already achieved my goal with the following code ( on CellDataBound event)
if
(e.Cell
is
PivotGridRowHeaderCell)
{
var parents = ((PivotGridHeaderCell)(e.Cell)).ParentIndexes;
Dictionary<
int
,
string
> theParentsDict =
new
Dictionary<
int
,
string
>();
Dictionary<
int
, PivotGridField> theFieldsDict =
new
Dictionary<
int
, PivotGridField>();
theParentsDict =
parents.Select((p, index) =>
new
{Index = index, DataItem = p})
.ToDictionary(k => k.Index, v => v.DataItem.ToString());
theFieldsDict =
RadPivotGrid1.Fields.GetFieldsByType(
"PivotGridRowField"
)
.Where(f => !f.IsHidden)
.Select(f=>
new
{Index = f.ZoneIndex, DataField = f})
.ToDictionary(k => k.Index, v => v.DataField);
Dictionary<
int
, PivotGridField> rowItems = (from p
in
theParentsDict
join f
in
theFieldsDict
on p.Key equals f.Key
select
new
{
Index = p.Key,
RowField = f.Value,
}).ToDictionary(k => k.Index, v => v.RowField);
}