您的位置:首页 > 编程语言 > ASP

DevExpress Asp.net(8) ASPxTreeList的基本使用之二

2009-07-25 10:00 447 查看
此事例主要说明了使用ASPxTreeListTemplateReplacement类进行AspxTreeList的模板编辑:

ASPxTreeList的模板编辑中使用到了ASPxTreeListTemplateReplacement类,
可以按照指定的类型显示模板中的编辑表格或按钮。ReplacementType取值为
TreeListEditFormTemplateReplacementType。

TreeListEditFormTemplateReplacementType 说明:
根据指定的类型显示ASPxTreeListTemplateReplacement中显示的内容。
CancelButton: 显示Cancel button.
Content: 显示编辑的字段内容(Visible=true)与button(Cancel Update)
Editors: 显示编辑的字段内容(Visible=true).
UpdateButton: 显示Update button.

本事例中,ASPxTreeListTemplateReplacement控件分别生成并显示了编辑内容与
Updata/Cancel按钮。

类似的用法也在ASPxGridView控件中出现,如ASPxGridViewTemplateReplacement类。

其他数据绑定如:Text='<%# Eval("Text") %>'则与之前用到的绑定语法相同。因为此事例中
用到了自定义绑定显示,所以必须在ASPxTreeList的NodeInserting事件与NodeUpdataing事件
中执行以下代码:e.NewValues["Text"]="";

代码:

<dxwtl:ASPxTreeList ID="ASPxTreeList1" runat="server" Width="498px" DataSourceID="ObjectDataSource1"
KeyFieldName="ID" ParentFieldName="ParentID" OnNodeInserting="ASPxTreeList1_NodeInserting"
OnNodeUpdating="ASPxTreeList1_NodeUpdating">
<SettingsEditing Mode="EditFormAndDisplayNode" />
<Templates>
<EditForm>
<dxtc:ASPxPageControl ID="ASPxPageControl1" runat="server" ActiveTabIndex="0" Height="150px"
Width="513px">
<TabPages>
<dxtc:TabPage Text="Header">
<ContentCollection>
<dxw:ContentControl ID="ContentControl1" runat="server">
<dxwtl:ASPxTreeListTemplateReplacement ID="ASPxTreeListTemplateReplacement1" runat="server"
ReplacementType="Editors" />
</dxw:ContentControl>
</ContentCollection>
</dxtc:TabPage>
<dxtc:TabPage Text="Text">
<ContentCollection>
<dxw:ContentControl ID="ContentControl2" runat="server">
<dxe:ASPxMemo ID="ASPxMemo1" runat="server" Height="150px" Width="100%" Text='<%# Eval("Text") %>'>
</dxe:ASPxMemo>
</dxw:ContentControl>
</ContentCollection>
</dxtc:TabPage>
</TabPages>
</dxtc:ASPxPageControl>
<dxwtl:ASPxTreeListTemplateReplacement ID="ASPxTreeListTemplateReplacement2" runat="server"
ReplacementType="CancelButton" />
<dxwtl:ASPxTreeListTemplateReplacement ID="ASPxTreeListTemplateReplacement3" ReplacementType="UpdateButton"
runat="server" />
</EditForm>
</Templates>
<Columns>
<dxwtl:TreeListTextColumn FieldName="From" VisibleIndex="0">
<EditFormSettings VisibleIndex="0" />
</dxwtl:TreeListTextColumn>
<dxwtl:TreeListTextColumn FieldName="Subject" VisibleIndex="1">
<EditFormSettings VisibleIndex="2" ColumnSpan="2" />
</dxwtl:TreeListTextColumn>
<dxwtl:TreeListDateTimeColumn FieldName="Date" VisibleIndex="2">
<EditFormSettings VisibleIndex="1" />
</dxwtl:TreeListDateTimeColumn>
<dxwtl:TreeListCommandColumn ShowNewButtonInHeader="True" VisibleIndex="3">
<EditButton Visible="True" />
<NewButton Visible="True" />
</dxwtl:TreeListCommandColumn>
</Columns>
</dxwtl:ASPxTreeList>
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" DataObjectTypeName="DxNewsGroupEntry"
TypeName="DxNewsGroupSessionProvider" DeleteMethod="Delete" InsertMethod="Insert"
SelectMethod="Select" UpdateMethod="Update"></asp:ObjectDataSource>


protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DxNewsGroupSessionProvider.Restore();
this.ASPxTreeList1.DataBind();
ASPxTreeList1.ExpandToLevel(3);
ASPxTreeList1.StartEdit("1");
}
}
protected void ASPxTreeList1_NodeInserting(object sender, DevExpress.Web.Data.ASPxDataInsertingEventArgs e)
{
e.NewValues["Text"] = ExtractMemoValue();
}
protected void ASPxTreeList1_NodeUpdating(object sender, DevExpress.Web.Data.ASPxDataUpdatingEventArgs e)
{
e.NewValues["Text"] = ExtractMemoValue();
}

string ExtractMemoValue()
{
ASPxPageControl pageControl = ASPxTreeList1.FindEditFormTemplateControl("ASPxPageControl1") as ASPxPageControl;
ASPxMemo memo = pageControl.TabPages[1].FindControl("ASPxMemo1") as ASPxMemo;
return memo.Text;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: