原創(chuàng)|其它|編輯:郝浩|2012-10-15 11:28:06.000|閱讀 445 次
概述:如何利用ASPxGridView里的Master-Detail創(chuàng)建列表頁(yè)面
# 界面/圖表報(bào)表/文檔/IDE等千款熱門(mén)軟控件火熱銷(xiāo)售中 >>
ASPxGridView套件是一個(gè)功能完備的ASP.NET網(wǎng)格和編輯器庫(kù),而里面的Master-Detail能夠使主表與子表的信息在同一頁(yè)面展示,無(wú)須新建子表頁(yè)面。
今天嘗試使用ASPxGridView中的Master-Detail完成了一個(gè)列表頁(yè)面,下面是我的制作步驟及其經(jīng)驗(yàn)總結(jié):
1、在aspx頁(yè)面上拖放2個(gè)控件。aspxgridview和ObjectDataSource,分別命名為grid和objSaleUser
2、為 ObjectDataSource添加數(shù)據(jù)源。
3、設(shè)置 grid的數(shù)據(jù)源為objSaleUser,設(shè)置KeyFieldName和AutoGenerateColumns="False",添加你想顯示的列。
設(shè)置SettingsDetail下的 ShowDetailRow="True"
4、 為grid編輯模板,選擇DetailRow,光標(biāo)定位于DetailRow,拖放一個(gè)aspxgridview進(jìn)去,命名為detailGrid。
5、為detailGrid拖放一個(gè)ObjectDataSource到頁(yè)面中,重命名為ObjSaleUserWeeklyReports
配置數(shù)據(jù)源和定義參數(shù),因GetFinishedWeeklyReports中有一個(gè)實(shí)參saleUserID,所以在定義參數(shù)中為其設(shè)置一個(gè) session。
6、設(shè)置detailGrid的數(shù)據(jù)源為ObjSaleUserWeeklyReports,設(shè)置KeyFieldName和 AutoGenerateColumns="False",添加你想顯示的列,設(shè)置SettingsDetail下的IsDetailGrid="true"。
7、給detailGrid添加事件BeforePerformDataSelect,查看幫助文檔知Occurs before the ASPxGridView control obtains data from a data source. When implementing a master-detail mode, the BeforePerformDataSelect event should be handled to specify session values.在后臺(tái)文件cs中為Session["saleUserID"]賦值。Session["saleUserID"] = (sender as ASPxGridView).GetMasterRowKeyValue();
8、前后臺(tái)代碼如下:
Code highlighting produced by Actipro CodeHighlighter (freeware) //www.CodeHighlighter.com/ --><%@ Page Language="C#" AutoEventWireup="true" CodeFile="SaleUserListReport.aspx.cs" Inherits="Report_SaleUserListReport" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <%@ Register Assembly="DevExpress.Web.v8.1, Version=8.1.3.0, Culture=neutral, PublicKeyToken=9b171c9fd64da1d1" Namespace="DevExpress.Web.ASPxPager" TagPrefix="dxpg" %> <%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %> <%@ Register Assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Namespace="System.Web.UI" TagPrefix="asp" %> <%@ Register Assembly="DevExpress.Web.v8.1, Version=8.1.3.0, Culture=neutral, PublicKeyToken=9b171c9fd64da1d1" Namespace="DevExpress.Web.ASPxTabControl" TagPrefix="dxtc" %> <%@ Register Assembly="DevExpress.Web.v8.1, Version=8.1.3.0, Culture=neutral, PublicKeyToken=9b171c9fd64da1d1" Namespace="DevExpress.Web.ASPxClasses" TagPrefix="dxw" %> <%@ Register Assembly="DevExpress.Web.ASPxGridView.v8.1, Version=8.1.3.0, Culture=neutral, PublicKeyToken=9b171c9fd64da1d1" Namespace="DevExpress.Web.ASPxGridView" TagPrefix="dxwgv" %> <%@ Register Assembly="DevExpress.Web.ASPxEditors.v8.1, Version=8.1.3.0, Culture=neutral, PublicKeyToken=9b171c9fd64da1d1" Namespace="DevExpress.Web.ASPxEditors" TagPrefix="dxe" %> <html xmlns="//www.w3.org/1999/xhtml"> <head runat="server"> <title>無(wú)標(biāo)題頁(yè)</title> </head> <body> <form id="form1" runat="server"> <dxtc:ASPxPageControl ID="ASPxPageControl1" runat="server" ActiveTabIndex="0" AutoPostBack="True" Width="99%" Height="590px"> <ActiveTabStyle BackColor="Transparent"> </ActiveTabStyle> <ContentStyle BackColor="Transparent"> <Border BorderColor="#002D96" BorderStyle="Solid" BorderWidth="1px"></Border> </ContentStyle> <Paddings Padding="0px"></Paddings> <LoadingPanelStyle ImageSpacing="6px" BackColor="Transparent"> </LoadingPanelStyle> <TabPages> <dxtc:TabPage Text="銷(xiāo)售人員周報(bào)"> <ContentCollection> <dxw:contentcontrol runat="server"> <table> <tr> <td style="width: 256px"> <dxwgv:ASPxGridView ID="grid" runat="server" AutoGenerateColumns="False" DataSourceID="objSaleUser" KeyFieldName="U_ID" ClientInstanceName="grid" Width="800px"> <SettingsText EmptyDataRow="沒(méi)有數(shù)據(jù)"></SettingsText> <SettingsLoadingPanel Text="正在加載..."></SettingsLoadingPanel> <Styles> <Header ImageSpacing="5px" SortingImageSpacing="5px" HorizontalAlign="Center"> </Header> <LoadingPanel ImageSpacing="10px"> </LoadingPanel> <AlternatingRow Enabled="True" /> </Styles> <Columns> <dxwgv:GridViewDataTextColumn FieldName="PI_NAME" VisibleIndex="0" Caption="姓名"> <CellStyle HorizontalAlign="Center"> </CellStyle> </dxwgv:GridViewDataTextColumn> <dxwgv:GridViewDataTextColumn FieldName="PI_CODE" VisibleIndex="1" Caption="編碼"> <CellStyle HorizontalAlign="Center"> </CellStyle> </dxwgv:GridViewDataTextColumn> <dxwgv:GridViewDataTextColumn FieldName="PI_TELNUM" VisibleIndex="2" Caption="公司電話(huà)"> <CellStyle HorizontalAlign="Center"> </CellStyle> </dxwgv:GridViewDataTextColumn> <dxwgv:GridViewDataTextColumn FieldName="PI_EMAIL" VisibleIndex="3" Caption="公司郵箱" Width="150px"> <CellStyle HorizontalAlign="Center"> </CellStyle> </dxwgv:GridViewDataTextColumn> <dxwgv:GridViewDataTextColumn FieldName="PI_MOBILEPHONE" VisibleIndex="4" Caption="個(gè)人電話(huà)"> <CellStyle HorizontalAlign="Center"> </CellStyle> </dxwgv:GridViewDataTextColumn> <dxwgv:GridViewDataTextColumn FieldName="PI_GTALK" VisibleIndex="5" Caption="GTalk" Width="150px"> <CellStyle HorizontalAlign="Center"> </CellStyle> </dxwgv:GridViewDataTextColumn> </Columns> <SettingsDetail AllowOnlyOneMasterRowExpanded="True" ShowDetailRow="True" /> <Templates> <DetailRow> 銷(xiāo)售經(jīng)理: <b> <%# Eval("U_NAME")%> </b>, 最近一個(gè)月的周報(bào) <br /> <br /> <dxwgv:ASPxGridView ID="detailGrid" runat="server" Width="750px" AutoGenerateColumns="False" ClientInstanceName="detailGrid" KeyFieldName="SWI_ID" DataSourceID="ObjSaleUserWeeklyReports" OnBeforePerformDataSelect="detailGrid_DataSelect"> <SettingsText EmptyDataRow="沒(méi)有數(shù)據(jù)"></SettingsText> <SettingsLoadingPanel Text="正在加載..."></SettingsLoadingPanel> <Styles> <Header ImageSpacing="5px" SortingImageSpacing="5px" HorizontalAlign="Center"> </Header> <LoadingPanel ImageSpacing="10px"> </LoadingPanel> <AlternatingRow Enabled="True" /> </Styles> <SettingsBehavior AllowFocusedRow="True" AllowGroup="False" AllowSort="False" /> <Columns> <dxwgv:GridViewDataTextColumn FieldName="SWI_ITEM1" Width="150px" Caption="星期(日期)" VisibleIndex="0"> </dxwgv:GridViewDataTextColumn> <dxwgv:GridViewDataTextColumn FieldName="SWI_ITEM2" Width="450px" Caption="當(dāng)天主要工作內(nèi)容和拜訪用戶(hù)情況" VisibleIndex="1"> </dxwgv:GridViewDataTextColumn> <dxwgv:GridViewDataTextColumn FieldName="SWI_ITEM3" Width="150px" Caption="已取得的階段性成果" VisibleIndex="2"> </dxwgv:GridViewDataTextColumn> </Columns> <SettingsDetail IsDetailGrid="true" /> <SettingsBehavior ColumnResizeMode="Control" AllowFocusedRow="True" AllowGroup="False" AllowSort="False" /> <SettingsPager AlwaysShowPager="True" PageSize="10"> <AllButton Visible="True"> </AllButton> <Summary AllPagesText="分頁(yè){0} - {1} (總{2}條)" Text="當(dāng)前第{0}頁(yè),一共{1}頁(yè) (總{2}條)" /> </SettingsPager> </dxwgv:ASPxGridView> </DetailRow> </Templates> <SettingsBehavior ColumnResizeMode="Control" AllowFocusedRow="True" AllowGroup="False" AllowSort="False" /> <SettingsPager AlwaysShowPager="True" PageSize="15"> <AllButton Visible="True"> </AllButton> <Summary AllPagesText="分頁(yè){0} - {1} (總{2}條)" Text="當(dāng)前第{0}頁(yè),一共{1}頁(yè) (總{2}條)" /> </SettingsPager> </dxwgv:ASPxGridView> </td> </tr> </table> </dxw:contentcontrol> </ContentCollection> </dxtc:TabPage> </TabPages> </dxtc:ASPxPageControl> <asp:ObjectDataSource ID="objSaleUser" runat="server" SelectMethod="GetSaleUserList" TypeName="DHC.EAS.Bo.BoWeekReportSummarize"></asp:ObjectDataSource> <asp:ObjectDataSource ID="ObjSaleUserWeeklyReports" runat="server" SelectMethod="GetFinishedWeeklyReports" TypeName="DHC.EAS.Bo.BoWeekReportSummarize"> <SelectParameters> <asp:SessionParameter Name="saleUserID" SessionField="saleUserID" Type="Object" /> </SelectParameters> </asp:ObjectDataSource> </form> </body> </html>
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:博客園