This is a migrated thread and some comments may be shown as answers.

Help with heirachial grid

1 Answer 149 Views
Grid
This is a migrated thread and some comments may be shown as answers.
EmpowerIT
Top achievements
Rank 2
EmpowerIT asked on 16 Jan 2008, 06:02 AM
I'm trying to do populate a radgrid using sqldatasource. There are three levels to the grid.

The top level can be populated using one of two different datasources. The other two levels always have their datasources fixed.

The top level datasources will return the exact same fields (the only difference is in their select statement).

I've tried doing this:
 void ScheduleDetailView_Load(object sender, EventArgs e) 
    { 
        string typeID = Request["typeId"]; 
        if ( typeID == "1"
        { 
            RadGrid1.MasterTableView.DataSourceID = "JobsSourceSuburb"
        } 
        else 
        { 
            RadGrid1.MasterTableView.DataSourceID = "JobsSourceTech"
        } 
    } 

The data binds correctly, however it does not let me expand down to the other levels of the grid. If i hardcode the DataSourceId for the masterview table into the aspx it works fine.

My RadGrid definition is below:

     <telerik:RadGrid ID="RadGrid1" runat="server" Skin="Web20" AllowSorting="True" DataSourceID="JobsSourceTech" GridLines="None" AutoGenerateColumns="False" AutoGenerateEditColumn="True" AllowAutomaticUpdates="True"
    <GroupPanel ID="GroupPanel" Style="width: 100%;"
    </GroupPanel> 
    <ExportSettings> 
        <Pdf FontType="Subset" PaperSize="Letter" /> 
        <Excel Format="Html" /> 
    </ExportSettings> 
    <MasterTableView CommandItemDisplay="None" CurrentResetPageIndexAction="SetPageIndexToFirst" DataKeyNames="JobId" 
         Dir="LTR" Frame="Border" TableLayout="Auto" AllowAutomaticUpdates="true" EditMode="InPlace"
        <EditFormSettings> 
            <EditColumn CurrentFilterFunction="NoFilter" FilterListOptions="VaryByDataType"
            </EditColumn> 
        </EditFormSettings> 
        <ExpandCollapseColumn CurrentFilterFunction="NoFilter" FilterListOptions="VaryByDataType" 
            Resizable="False"
            <HeaderStyle Width="20px" /> 
        </ExpandCollapseColumn> 
        <RowIndicatorColumn CurrentFilterFunction="NoFilter" FilterListOptions="VaryByDataType" 
            Visible="False"
            <HeaderStyle Width="20px" /> 
        </RowIndicatorColumn> 
        <Columns> 
            <telerik:GridEditCommandColumn CurrentFilterFunction="NoFilter" FilterListOptions="VaryByDataType" 
                UniqueName="AutoGeneratedEditColumn"
                <HeaderStyle Width="30px" /> 
            </telerik:GridEditCommandColumn> 
            <telerik:GridBoundColumn CurrentFilterFunction="NoFilter" DataField="OrderNumber" 
                FilterListOptions="VaryByDataType" ForceExtractValue="None" HeaderText="Order Number" 
                ReadOnly="True" UniqueName="OrderNumber"
            </telerik:GridBoundColumn> 
            <telerik:GridBoundColumn CurrentFilterFunction="NoFilter" DataField="AccountName" 
                FilterListOptions="VaryByDataType" ForceExtractValue="None" HeaderText="Account" 
                ReadOnly="True" UniqueName="Account Name"
            </telerik:GridBoundColumn> 
            <telerik:GridBoundColumn CurrentFilterFunction="NoFilter" FilterListOptions="VaryByDataType" 
                ForceExtractValue="None" HeaderText="Address" SortExpression="Address" UniqueName="column" DataField="Address" ReadOnly="True"
            </telerik:GridBoundColumn> 
            <telerik:GridBoundColumn CurrentFilterFunction="NoFilter" DataField="Suburb" FilterListOptions="VaryByDataType" 
                ForceExtractValue="None" HeaderText="Suburb" ReadOnly="True" UniqueName="Suburb"
            </telerik:GridBoundColumn> 
            <telerik:GridCheckBoxColumn CurrentFilterFunction="NoFilter" DataField="Vacant" FilterListOptions="VaryByDataType" 
                ForceExtractValue="None" HeaderText="Vacant" SortExpression="Vacant" UniqueName="Vacant"
                </telerik:GridCheckBoxColumn> 
                        <telerik:GridCheckBoxColumn CurrentFilterFunction="NoFilter" DataField="Recall" FilterListOptions="VaryByDataType" 
                ForceExtractValue="None" HeaderText="Recall" SortExpression="Recall" UniqueName="Recall"
                </telerik:GridCheckBoxColumn> 
                  <telerik:GridCheckBoxColumn CurrentFilterFunction="NoFilter" DataField="Confirmed" FilterListOptions="VaryByDataType" 
                ForceExtractValue="None" HeaderText="Confirmed" SortExpression="Confirmed" UniqueName="Confirmed"
                </telerik:GridCheckBoxColumn> 
            <telerik:GridDateTimeColumn ReadOnly="True" CurrentFilterFunction="NoFilter" DataField="DueDateTime" FilterListOptions="VaryByDataType" 
                ForceExtractValue="None" HeaderText="Due Date" SortExpression="DueDateTime" UniqueName="DueDateTime" DataType="System.DateTime"  DataFormatString="{0:d}"
                </telerik:GridDateTimeColumn> 
        </Columns> 
        <DetailTables> 
            <telerik:GridTableView runat="server" CommandItemDisplay="None" 
                CurrentResetPageIndexAction="SetPageIndexToFirst" DataKeyNames="JobId,JobCodeId" DataSourceID="JobCodesSource" 
                Dir="LTR" Frame="Border" TableLayout="Auto"
                <EditFormSettings> 
                    <EditColumn CurrentFilterFunction="NoFilter" FilterListOptions="VaryByDataType"
                    </EditColumn> 
                </EditFormSettings> 
                <ParentTableRelation> 
                    <telerik:GridRelationFields DetailKeyField="JobId" MasterKeyField="JobId" /> 
                </ParentTableRelation> 
                <ExpandCollapseColumn CurrentFilterFunction="NoFilter" FilterListOptions="VaryByDataType" 
                    Resizable="False"
                    <HeaderStyle Width="20px" /> 
                </ExpandCollapseColumn> 
                <RowIndicatorColumn CurrentFilterFunction="NoFilter" FilterListOptions="VaryByDataType" 
                    Visible="False"
                    <HeaderStyle Width="20px" /> 
                </RowIndicatorColumn> 
                <Columns> 
                <telerik:GridDropDownColumn DataField="CodeId" DataSourceID="CodeSource" ListTextField="CodeName"  
                            ListValueField="CodeId" HeaderText="Code" UniqueName="CodeId" CurrentFilterFunction="NoFilter" FilterListOptions="VaryByDataType" ForceExtractValue="None"
                     </telerik:GridDropDownColumn> 
 
                   <telerik:GridNumericColumn CurrentFilterFunction="NoFilter" DataField="QuantityRequired" 
                        DataType="System.Decimal" FilterListOptions="VaryByDataType" ForceExtractValue="None" 
                        HeaderText="QuantityRequired" SortExpression="QuantityRequired" UniqueName="QuantityRequired" NumericType="Number"</telerik:GridNumericColumn> 
                     
                    <telerik:GridNumericColumn CurrentFilterFunction="NoFilter" DataField="QuantityCompleted" 
                        DataType="System.Decimal" FilterListOptions="VaryByDataType" ForceExtractValue="None" 
                        HeaderText="QuantityCompleted" SortExpression="QuantityCompleted" UniqueName="QuantityCompleted" NumericType="Number"
                        </telerik:GridNumericColumn>  
                    <telerik:GridBoundColumn CurrentFilterFunction="NoFilter" DataField="Comment" FilterListOptions="VaryByDataType" 
                        ForceExtractValue="None" HeaderText="Comment" SortExpression="Comment" UniqueName="Comment"
                    </telerik:GridBoundColumn>          
                </Columns> 
                <DetailTables> 
                    <telerik:GridTableView runat="server" CommandItemDisplay="None" CurrentResetPageIndexAction="SetPageIndexToFirst" 
                        DataSourceID="JobScheduleSource" DataKeyNames="JobCodeId,ScheduleId" Dir="LTR" Frame="Border" TableLayout="Auto"
                        <EditFormSettings> 
                            <EditColumn CurrentFilterFunction="NoFilter" FilterListOptions="VaryByDataType"
                            </EditColumn> 
                        </EditFormSettings> 
                         <ParentTableRelation> 
                            <telerik:GridRelationFields DetailKeyField="JobCodeId" MasterKeyField="JobCodeId" /> 
                        </ParentTableRelation> 
                        <ExpandCollapseColumn CurrentFilterFunction="NoFilter" FilterListOptions="VaryByDataType" 
                            Resizable="False" Visible="False"
                            <HeaderStyle Width="20px" /> 
                        </ExpandCollapseColumn> 
                        <RowIndicatorColumn CurrentFilterFunction="NoFilter" FilterListOptions="VaryByDataType" 
                            Visible="False"
                            <HeaderStyle Width="20px" /> 
                        </RowIndicatorColumn> 
                        <Columns> 
                            <telerik:GridDateTimeColumn CurrentFilterFunction="NoFilter" DataField="ScheduleDateTime" 
                                DataType="System.DateTime" FilterListOptions="VaryByDataType" ForceExtractValue="None" 
                                HeaderText="Schedule Date/Time" UniqueName="ScheduleDateTime" PickerType="DateTimePicker"
                            </telerik:GridDateTimeColumn> 
                            <telerik:GridDropDownColumn DataField="TechnicianId" DataSourceID="TechniciansSource" ListTextField="TechName"  
                            ListValueField="TechnicianId" HeaderText="Technician" UniqueName="TechnicianId" CurrentFilterFunction="NoFilter" FilterListOptions="VaryByDataType" ForceExtractValue="None"
                            </telerik:GridDropDownColumn> 
                            <telerik:GridBoundColumn CurrentFilterFunction="NoFilter" DataField="ScheduleNote" 
                                FilterListOptions="VaryByDataType" ForceExtractValue="None" HeaderText="Notes" 
                                MaxLength="200" UniqueName="ScheduleNote"
                            </telerik:GridBoundColumn> 
                        </Columns> 
                    </telerik:GridTableView> 
                </DetailTables> 
            </telerik:GridTableView> 
        </DetailTables> 
    </MasterTableView> 
</telerik:RadGrid> 

Any help would be appreciated,

Fayez

1 Answer, 1 is accepted

Sort by
0
EmpowerIT
Top achievements
Rank 2
answered on 16 Jan 2008, 06:20 AM
I fixed the problem, i removed that code from the Load event and added it to the NeedDataSource event ... seems quite obvious now
Tags
Grid
Asked by
EmpowerIT
Top achievements
Rank 2
Answers by
EmpowerIT
Top achievements
Rank 2
Share this question
or