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; |
| } |
| } |