Hello,
I have a project in which have two DetailTables at the same level which need to be binded programatically at the same time. I have tried the example for binding DetailTables programmatically, however it only allows me to set one datasource property so the example does not work in this instace. I have been unable to find any examples of this, nor have I been able to figure it out by combining the "Multiple DetailTables at the Same-Level" example with the "Bind Hierarchy Programmatically" example. Any help would be greatly appreciated.
I have a project in which have two DetailTables at the same level which need to be binded programatically at the same time. I have tried the example for binding DetailTables programmatically, however it only allows me to set one datasource property so the example does not work in this instace. I have been unable to find any examples of this, nor have I been able to figure it out by combining the "Multiple DetailTables at the Same-Level" example with the "Bind Hierarchy Programmatically" example. Any help would be greatly appreciated.
<telerik:RadGrid ID="rg_Report" runat="server" |
AutoGenerateColumns="false" |
PageSize="25" |
AllowPaging="true" |
OnDataBinding="rg_Report_DataBinding" |
onitemcommand="rg_Report_ItemCommand" |
ondetailtabledatabind="rg_Report_DetailTableDataBind" |
> |
<PagerStyle Mode="NumericPages" /> |
<MasterTableView DataKeyNames="PackageId"> |
<DetailTables> |
<telerik:GridTableView DataKeyNames="package_id" Name="PackageNotes" Width="100%"> |
<Columns> |
<telerik:GridBoundColumn UniqueName="Notes" DataField="notes" HeaderText="Notes"> |
</telerik:GridBoundColumn> |
<telerik:GridBoundColumn UniqueName="ShipNotes" DataField="shipnotes" HeaderText="Ship Notes"> |
</telerik:GridBoundColumn> |
</Columns> |
</telerik:GridTableView> |
<telerik:GridTableView DataKeyNames="package_id" Name="TrackingScans" Width="100%"> |
<Columns> |
<telerik:GridBoundColumn UniqueName="ScanDesc" DataField="scandesc" HeaderText="Scan Description"> |
</telerik:GridBoundColumn> |
<telerik:GridBoundColumn UniqueName="Location" DataField="location" HeaderText="Location"> |
</telerik:GridBoundColumn> |
<telerik:GridDateTimeColumn UniqueName="DateTime" DataField="date_time" HeaderText="Date"> |
</telerik:GridDateTimeColumn> |
<telerik:GridBoundColumn UniqueName="Notes" DataField="notes" HeaderText="Notes"> |
</telerik:GridBoundColumn> |
</Columns> |
</telerik:GridTableView> |
</DetailTables> |
<Columns> |
<telerik:GridBoundColumn UniqueName="PackageId" DataField="PackageId" HeaderText="Package ID" |
ConvertEmptyStringToNull="true"> |
</telerik:GridBoundColumn> |
<telerik:GridBoundColumn UniqueName="Recipient" DataField="Recipient" HeaderText="Recipient"> |
</telerik:GridBoundColumn> |
<telerik:GridBoundColumn UniqueName="Location" DataField="location" HeaderText="Location"> |
</telerik:GridBoundColumn> |
<telerik:GridBoundColumn UniqueName="Room" DataField="room" HeaderText="Room/Cube"> |
</telerik:GridBoundColumn> |
<telerik:GridBoundColumn UniqueName="Sender" DataField="Sender" HeaderText="Sender"> |
</telerik:GridBoundColumn> |
<telerik:GridBoundColumn UniqueName="Carrier" DataField="Carrier" HeaderText="Carrier"> |
</telerik:GridBoundColumn> |
<telerik:GridBoundColumn UniqueName="TrackingNumber" DataField="TrackingNumber" HeaderText="Tracking #"> |
</telerik:GridBoundColumn> |
<telerik:GridDateTimeColumn UniqueName="DateReceived" DataField="DateReceived" HeaderText="Date Received"> |
</telerik:GridDateTimeColumn> |
</Columns> |
</MasterTableView> |
protected void rg_Report_DetailTableDataBind(object source, GridDetailTableDataBindEventArgs e) |
{ |
GridDataItem dataItem = e.DetailTableView.ParentItem; |
string spackageId = dataItem["PackageId"].Text.Replace(" ", ""); |
if (!String.IsNullOrEmpty(spackageId.Trim())) |
{ |
packageId = Convert.ToInt32(spackageId); |
} |
if (packageId != null) |
{ |
switch (e.DetailTableView.Name) |
{ |
case "PackageNotes": |
{ |
e.DetailTableView.DataSource = reportProcs.GetPackageNotes(packageId); |
break; |
} |
case "TrackingScans": |
{ |
e.DetailTableView.DataSource = reportProcs.GetTrackingScans(packageId); |
break; |
} |
} |
} |
else |
{ |
e.DetailTableView.DataSource = null; |
} |
} |