DNN常用控件总结
DNN常用控件總結(jié)
——DNN 學(xué)習(xí)
?
一般屬性配置:
<dnn:DnnCalendar ID="dcEvent" runat="server" CssClass="Calendar" Skin="Windows7"
??????????????????????????????? AutoPostBack="true" DayNameFormat="Short" DefaultCellPadding="10" EnableMonthYearFastNavigation="true"
??????????????????????????????? OtherMonthDayStyle-CssClass="otherDays" ShowOtherMonthsDays="true" ShowFastNavigationButtons="false"
??????????????????????????????? OnDefaultViewChanged="calender_DefaultViewChanged" OnDayRender="calender_DayRender"
??????????????????????????????? PresentationType="Preview">
</dnn:DnnCalendar>
?
特殊日期標(biāo)記:
<SpecialDays>
<dnn:DnnCalendarDayRepeatable="Today"IsToday="true"Date=""ItemStyle-BackColor="Yellow"
??????????????????????????????????????? ItemStyle-CssClass="cellToday"ToolTip="Today">
??? </dnn:DnnCalendarDay>
</SpecialDays>
?
通過編寫ItemStyle-CssClass類的樣式來把特殊日期進行標(biāo)示出來。
?
一般屬性配置:
<dnn:DnnEditor ID="ddeTermsM" runat="server" AllowScripts="true" StripFormattingOnPaste="All" ToolbarMode="Default" Width="100%" Visible="false" ImageManager-UploadPaths = "/Portals/0/Newsletter" ImageManager-EnableImageEditor="true" ImageManager-MaxUploadFileSize="1000000" ImageManager-ViewMode="Grid" ImageManager-ViewPaths="/Portals/0/Newsletter" />
?
屬性說明:
ImageManager-EnableImageEditor="true":啟用圖片管理。
ImageManager-ViewPaths="/Portals/0/Newsletter" /:圖片管理默認路徑。
ImageManager-MaxUploadFileSize="1000000":允許上傳圖片的最大值(byte)。
?
Grid界面配置與結(jié)構(gòu)
<dnn:DnnGrid ID="dgEvents" runat="server" OnNeedDataSource="dgEvents_NeedDataSource"
??????????????? CssClass="IRedeemGrid dgEvents" AutoGenerateColumns="false" AllowPaging="true"
??????????????? OnItemCreated="dgEvents_ItemCreated" OnUpdateCommand="dgEvents_UpdateCommand"
??????????????? OnInsertCommand="dgEvents_InsertCommand" OnDeleteCommand="dgEvents_DeleteCommand"
??????????????? EditItemStyle-CssClass="dgEventsEdit" OnDetailTableDataBind="dgEvents_DetailTableDataBind">
??????????????? <MasterTableView EditMode="EditForms" CommandItemDisplay="Bottom" InsertItemDisplay="Bottom"
??????????????????? DataKeyNames="Id" EditFormSettings-EditColumn-CancelText="Cancel" EditFormSettings-EditColumn-ButtonType="ImageButton"
??????????????????? EditFormSettings-EditColumn-ItemStyle-CssClass="dgEventsEdit" CommandItemSettings-ShowRefreshButton="false"
??????????????????? CommandItemSettings-AddNewRecordText="Add New Event" ExpandCollapseColumn-ButtonType="SpriteButton"
??????????????????? ExpandCollapseColumn-Display="true" ExpandCollapseColumn-Visible="false">
??????????????????? <Columns>
???????????????????????
??????????????????? </Columns>
??????????????????? <DetailTables>
??????????????????????? <dnn:DnnGridTableView DataKeyNames="Id" Name="EventDateTime" EditMode="InPlace" CommandItemDisplay="Bottom"
??????????????????????????? AllowPaging="true" InsertItemDisplay="Bottom" CommandItemSettings-ShowRefreshButton="false"
??????????????????????????? CommandItemSettings-AddNewRecordText="Add Date & Time">
??????????????????????? ????<Columns>
???????????????????????????????
??????????????????????????? </Columns>
??????????????????????? </dnn:DnnGridTableView>
??????????????????? </DetailTables>
??????????????? </MasterTableView>
??????????? </dnn:DnnGrid>
?
AutoGenerateColumns: 允許自動生成列表。
AllowPaging:允許分頁。
EditFormSettings-EditColumn-ButtonType:button顯示類型。
CommandItemDisplay:命令欄顯示位置。
MasterTableView: 主表
DetailTables: 從表
1)?????? OnNeedDataSource="dgEvents_NeedDataSource"
數(shù)據(jù)綁定
protected void dgEvents_NeedDataSource(object sender, EventArgs e)
??????? {
???????????
??????? }
?
2)?????? OnItemCreated="dgEvents_ItemCreated"
列表創(chuàng)建
protected void dgEvents_ItemCreated(object sender, GridItemEventArgs e)
??????? {
??????????? if (e.Item is GridEditableItem && e.Item.IsInEditMode)
??????????? {
??????????????????? var iredeemEvent = e.Item.DataItem as IRedeemEvent;
??????????? }
}
在ItemCreated事件中,能夠?qū)⒔壎ǖ皆撔械臄?shù)據(jù)還原成數(shù)據(jù)源實體進行數(shù)據(jù)操作:
var iredeemEvent = e.Item.DataItem as IRedeemEvent;
?
3)?????? OnUpdateCommand="dgEvents_UpdateCommand"
數(shù)據(jù)更新事件
protected void dgEvents_UpdateCommand(object source, GridCommandEventArgs e)
??????? {
??????????? if (e.CommandArgument.ToString() == "SaveDetailTable")
??????????? {
???????????????
??????????? }
??????????? else
??????????? {
???????????????
??????????? }
??????? }
??????? 當(dāng)有主從表時,需要判斷數(shù)據(jù)更新是否為從表的數(shù)據(jù)更新:
??????? if (e.CommandArgument.ToString() == "SaveDetailTable")
?
4)?????? OnInsertCommand="dgEvents_InsertCommand"
數(shù)據(jù)插入事件
protected void dgEvents_InsertCommand(object source, GridCommandEventArgs e)
?????? {
}
?
5)?????? OnDeleteCommand="dgEvents_DeleteCommand"
數(shù)據(jù)刪除事件
protected void dgEvents_DeleteCommand(object source, GridCommandEventArgs e)
{
?if (e.CommandArgument.ToString() == "DeleteDetailTable")
?{
?}
?else
?{
Var eventId =
editedItem.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["Id"].ToString();
}
當(dāng)有主從表時,需要判斷數(shù)據(jù)更新是否為從表的數(shù)據(jù)刪除:
if (e.CommandArgument.ToString() == "DeleteDetailTable")
?
當(dāng)要進行數(shù)據(jù)刪除時,我們往往需要找到刪除該數(shù)據(jù)的主鍵:
前臺:DataKeyNames="Id"
后臺:Var eventId =
editedItem.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["Id"].ToString();
?
protected void dgInvoices_ItemCommand(object sender, GridCommandEventArgs e)
{
if (e.CommandName == "Edit")
{
???? dgInvoices.MasterTableView.IsItemInserted = false;
}
if (e.CommandName == "InitInsert")
{
dgInvoices.EditIndexes.Clear();
}
}
?
當(dāng)在點擊編輯修改按鈕時,關(guān)閉新增數(shù)據(jù)表格:
dgInvoices.MasterTableView.IsItemInserted = false;
?
當(dāng)在點擊添加新數(shù)據(jù)時,關(guān)閉打開的編輯數(shù)據(jù)行:
dgInvoices.EditIndexes.Clear();
?
常用界面配置
<dnn:DnnListView ID="dlvMyPoints" runat="server" PageSize="1" AllowPaging="true"
??????????????????????????????? ItemPlaceholderID="MyPointsPlaceHolder" OnNeedDataSource="DlvMyPointsNeedDataSource">
??????????????????????????????? <LayoutTemplate>
??????????????????????????????????? <div id="myPointsContent">
??????????????????????????????????????? <asp:Panel runat="server" ID="MyPointsPlaceHolder">
??????????????????????????????????????? </asp:Panel>
??????????????????????????????????????? <div class="clear_float">
??????????????????????? ????????????????</div>
??????????????????????????????????? </div>
??????????????????????????????????? <dnn:DnnDataPager ID="ddpMyPoints" runat="server" PageSize="30">
??????????????????????????????????????? <Fields>
??????????????????????????????????????????? <dnn:DnnDataPagerButtonField FieldType="Numeric" />
??????????????????????????????????????????? <dnn:DnnDataPagerTemplatePageField>
??????????????????????????????????????????????? <PagerTemplate>
??????????????? ????????????????????????????????????<div>
??????????????????????????????????????????????????????? <b>Showing
??????????????????????????????????????????????????????????? <asp:Label runat="server" ID="CurrentPageLabel" Text="<%# Container.Owner.StartRowIndex+1%>" />
??????????????????????????????????????????????????????????? -
??????????????????????????????????????????????????????????? <asp:Label runat="server" ID="TotalPagesLabel" Text="<%# Container.Owner.TotalRowCount > (Container.Owner.StartRowIndex+Container.Owner.PageSize) ? Container.Owner.StartRowIndex+Container.Owner.PageSize : Container.Owner.TotalRowCount %>" />
??????????????????????????????????????????????????????????? of
???????????????????????????????????????? ???????????????????<asp:Label runat="server" ID="TotalItemsLabel" Text="<%# Container.Owner.TotalRowCount%>" />
??????????????????????????????????????????????????????????? items
??????????????????????????????????????????????????????????? <br />
?????????? ?????????????????????????????????????????????</b>
??????????????????????????????????????????????????? </div>
??????????????????????????????????????????????? </PagerTemplate>
??????????????????????????????????????????? </dnn:DnnDataPagerTemplatePageField>
??????????????????????????????????????? </Fields>
??????????????????????????????????? </dnn:DnnDataPager>
??????????????????????????????? </LayoutTemplate>
??????????????????????????????? <EmptyDataTemplate>
?
??????????????????????????????? </EmptyDataTemplate>
??????????????????????????????? <ItemTemplate>
?
??????????????????????????????? </ItemTemplate>
??????????????????????????? </dnn:DnnListView>
?
1)?????? ItemTemplate
數(shù)據(jù)顯示模板
2)?????? EmptyDataTemplate
當(dāng)數(shù)據(jù)源為空時,界面上顯示內(nèi)容的模板
3)?????? LayoutTemplate
當(dāng)有數(shù)據(jù)源時,ListView內(nèi)容顯示模板。
有時候在模板中可以靈和添加許多額外的數(shù)據(jù)顯示信息,使顯示內(nèi)容更豐富。
在LayoutTemplate中,往往使用DataPager控件配合ListView控件使用,來實現(xiàn)數(shù)據(jù)分頁的功能。
常用界面屬性配置
<div id="LearnMoreDiv">
??????????????? <dnn:DnnTabStrip ID="dtsLearnMore" runat="server" MultiPageID="dmpLearnMore">
??????????????????? <TabTemplate>
???????????????????????
??????????????????? </TabTemplate>
??????????????? </dnn:DnnTabStrip>
??????????? </div>
??????????? <dnn:DnnMultiPage ID="dmpLearnMore" runat="server">
??????????????? <dnn:DnnPageView TabIndex="0" runat="server">
??????????????????? <div id="FAQContent">
??????????????????????? <dnn:DnnTabStrip ID="dtsFAQ" runat="server">
??????????????????????????? <TabTemplate>
???????????????????????????????
??????????????????????????? </TabTemplate>
??????????????????????? </dnn:DnnTabStrip>
??????????????????? </div>
??????????????? </dnn:DnnPageView>
??????????????? <dnn:DnnPageView TabIndex="1" runat="server">
??????????????????? <div id="YourAccountContent">
??????????????????????? <dnn:DnnTabStrip ID="dtsYourAccount" runat="server">
??????????????????????????? <TabTemplate>
???????????????????????????????
??????????????????????????? </TabTemplate>
??????????????????????? </dnn:DnnTabStrip>
??????????????????? </div>
??????????????? </dnn:DnnPageView>
??????????????? <dnn:DnnPageView TabIndex="2" runat="server">
???????????????????
??????????????? </dnn:DnnPageView>
??????????? </dnn:DnnMultiPage>
?
TabStrip控件往往需要與MultiPage控件聯(lián)合使用,達到tab間切換進行數(shù)據(jù)的分類顯示。
?
TabStrip控件與MutiPage關(guān)聯(lián)屬性:MultiPageID="dmpLearnMore"
?
MultiPage控件的Page與TabStrip控件的Tab相關(guān)聯(lián)的屬性:
TabStrip: PageViewID=" "
MutiPage: TabIndex=””
轉(zhuǎn)載于:https://www.cnblogs.com/perfectlife/archive/2013/01/20/2868907.html
總結(jié)
- 上一篇: OneNote 使用汇总
- 下一篇: dpdk对虚拟化的支持调研