最近在用 Devexpress 的控件,很强大,但是很多东西都需要研究

其中 ASPxTreeList的部分,更新新增都是用的模板列,研究了一下,相关代码如下,需要用这个控件做 增删改的朋友可以参考下,加粗关键代码

 

                                       <EditForm>

                                            <table>
                                                
<tr>
                                                    
<td style="width: 22px; height: 23px">
                                                    
</td>
                                                    
<td style="width: 103px; height: 23px;">
                                                        
<asp:Label ID="lblName" runat="server" Text="名称"></asp:Label>
                                                    
</td>
                                                    
<td style="height: 23px">
                                                        
<asp:TextBox ID="txtName" runat="server" Width="295px" Text='<%# Eval("menu_name") %>'></asp:TextBox>
                                                    
</td>
                                                
</tr>
                                                
<tr>
                                                    
<td style="width: 22px">
                                                    
</td>
                                                    
<td style="width: 103px">
                                                        
<asp:Label ID="lb_code" runat="server" Text="标识码"></asp:Label>
                                                    
</td>
                                                    
<td>
                                                        
<asp:TextBox ID="tb_Tcode" runat="server" Width="295px" Text='<%# Eval("t_code") %>'></asp:TextBox>
                                                    
</td>
                                                
</tr>
                                                
<tr>
                                                    
<td style="width: 22px; height: 11px">
                                                    
</td>
                                                    
<td style="width: 103px; height: 11px;">
                                                        
<asp:Label ID="lblLink" runat="server" Text="链接"></asp:Label>
                                                    
</td>
                                                    
<td style="font-size: 1pt; height: 11px">
                                                        
<asp:TextBox ID="txtAddr" runat="server" Width="295px" Text='<%# Eval("url") %>'></asp:TextBox>
                                                    
</td>
                                                
</tr>
                                                
<tr>
                                                    
<td style="width: 22px; height: 23px">
                                                    
</td>
                                                    
<td style="width: 103px; height: 23px">
                                                        
<asp:Label ID="lblDesc" runat="server" Text="描述"></asp:Label>
                                                    
</td>
                                                    
<td style="height: 23px">
                                                        
<asp:TextBox ID="txtDesc" runat="server" Width="295px" Text='<%# Eval("remark") %>'></asp:TextBox>
                                                    
</td>
                                                
</tr>
                                                
<tr>
                                                    
<td style="width: 22px; height: 16px">
                                                    
</td>
                                                    
<td style="width: 103px; height: 16px">
                                                        
<asp:Label ID="lblOrder" runat="server" Text="顺序"></asp:Label>
                                                    
</td>
                                                    
<td style="height: 16px">
                                                        
<dx:ASPxComboBox ID="xddl_Order" runat="server" ValueType="System.String" 
                                                            SelectedIndex
='<%# Eval("sort")==null?0:int.Parse(Eval("sort").ToString())-1 %>
                                                            DropDownRows="15">
                                                            
<Items>
                                                                
<dx:ListEditItem Text="1" Value="1" />
                                                                
<dx:ListEditItem Text="2" Value="2" />
                                                                
<dx:ListEditItem Text="3" Value="3" />
                                                                
<dx:ListEditItem Text="4" Value="4" />
                                                                
<dx:ListEditItem Text="5" Value="5" />
                                                                
<dx:ListEditItem Text="6" Value="6" />
                                                                
<dx:ListEditItem Text="7" Value="7" />
                                                                
<dx:ListEditItem Text="8" Value="8" />
                                                                
<dx:ListEditItem Text="9" Value="9" />
                                                                
<dx:ListEditItem Text="10" Value="10" />
                                                                
<dx:ListEditItem Text="11" Value="11" />
                                                            
</Items>
                                                        
</dx:ASPxComboBox>
                                                    
</td>
                                                
</tr>
                                            
</table>
                                            
<div style="text-align: right; padding-top: 8px">
                                                
<dx:ASPxTreeListTemplateReplacement ID="ASPxTreeListTemplateReplacement1" runat="server"
                                                    ReplacementType
="UpdateButton" />
                                                
<dx:ASPxTreeListTemplateReplacement ID="ASPxTreeListTemplateReplacement2" runat="server"
                                                    ReplacementType
="CancelButton" />
                                            
</div>

                                        </EditForm>

 

public partial class SysFrame_FrameLeftMenu : FramePage
    {
        
protected void Page_Load(object sender, EventArgs e)
        {
            PageBind();
            
if (!IsPostBack)
            {
                xTree_Menu.ExpandToLevel(
1);
            }
        }

        
private void PageBind()
        {
            
try
            {
                DataTable dt 
= null;
                
using (AuthClient client = WCF.AuthProxy)
                {
                    dt 
= client.NavTreeSelect(GlobalDefinition.System_Name(), Guid.Empty).Tables[0];
                }
                xTree_Menu.DataSource 
= dt;
                xTree_Menu.DataBind();
            }
            
catch (Exception ex)
            {
                MessageBox.Show(
"错误\\r\\n" + ex.Message);
            }
        }


        
/// <summary>
        
/// 调用服务删除节点
        
/// </summary>
        
/// <param name="sender"></param>
        
/// <param name="e"></param>
        protected void bt_del_Click(object sender, EventArgs e)
        {
            
try
            {
                
using (AuthClient client = WCF.AuthProxy)
                {
                    
foreach (TreeListNode node in xTree_Menu.GetSelectedNodes())
                    {
                        NavTreeData d 
= new NavTreeData();
                        d.menu_id 
= new Guid(node["menu_id"].ToString());
                        client.NavTreeUID(EditActionType.Delete, d);
                    }

                }

                PageBind();
            }
            
catch (Exception ex)
            {
                MessageBox.Show(
"错误\\r\\n" + ex.Message);
            }

        }

        
/// <summary>
        
/// 新增节点
        
/// </summary>
        
/// <param name="sender"></param>
        
/// <param name="e"></param>
        protected void xTree_Menu_NodeInserting(object sender, DevExpress.Web.Data.ASPxDataInsertingEventArgs e)
        {
            
try
            {
                NavTreeData o 
= ActionNode();

                
if (e.NewValues.Count==0)
                    o.p_menu 
= Guid.Empty;
                
else
                    o.p_menu 
= new Guid(e.NewValues["p_menu"].ToString());
                o.menu_id 
= Guid.NewGuid();
                o.cdate 
= DateTime.Now;
                o.cuser 
= GlobalDefinition.LoginUserModel.user_id;
                
using (AuthClient client = WCF.AuthProxy)
                {
                    client.NavTreeUID(EditActionType.New, o);
                }
                e.Cancel 
= true;
                xTree_Menu.CancelEdit();
                PageBind();
            }
            
catch (Exception ex)
            {
                MessageBox.Show(
"错误\\r\\n" + ex.Message);
            }

        }

        
private NavTreeData ActionNode()
        {
            NavTreeData o 
= new NavTreeData();
            o.active 
= 1;
            o.corp_code 
= GlobalDefinition.System_Name();
            o.menu_name 
= (xTree_Menu.FindEditFormTemplateControl("txtName"as TextBox).Text.Trim();
            o.remark 
= (xTree_Menu.FindEditFormTemplateControl("txtDesc"as TextBox).Text.Trim();
            o.sort 
= int.Parse((xTree_Menu.FindEditFormTemplateControl("xddl_Order"as ASPxComboBox).SelectedItem.Text);
            o.t_code 
= (xTree_Menu.FindEditFormTemplateControl("tb_Tcode"as TextBox).Text.Trim();
            o.url 
= (xTree_Menu.FindEditFormTemplateControl("txtAddr"as TextBox).Text.Trim();
            
return o;
        }

        
/// <summary>
        
/// 更新节点信息
        
/// </summary>
        
/// <param name="sender"></param>
        
/// <param name="e"></param>
        protected void xTree_Menu_NodeUpdating(object sender, DevExpress.Web.Data.ASPxDataUpdatingEventArgs e)
        {
            
try
            {
                NavTreeData o 
= ActionNode();
                o.menu_id 
= new Guid(e.Keys[0].ToString());
                o.p_menu 
= new Guid(CurrentEditNode["p_menu"].ToString());
                o.mdate 
= DateTime.Now;
                o.muser 
= GlobalDefinition.LoginUserModel.user_id;
                
using (AuthClient client = WCF.AuthProxy)
                {
                    client.NavTreeUID(EditActionType.Update, o);
                }
                e.Cancel 
= true;
                xTree_Menu.CancelEdit();
                PageBind();
            }
            
catch (Exception ex)
            {
                MessageBox.Show(
"错误\\r\\n" + ex.Message);
            }
        }

        
/// <summary>
        
/// 获取正出于编辑状态的节点
        
/// </summary>
        private TreeListNode CurrentEditNode
        {
            
get
            {
                
return xTree_Menu.FindNodeByKeyValue(xTree_Menu.EditingNodeKey);
            }
        }

    } 

 

posted on 2011-07-13 13:35  YoungSin  阅读(1328)  评论(0编辑  收藏  举报