<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="DirCategoryID"
                        SkinID="GridView1"
                        onrowediting="GridView1_RowEditing"
                        onrowupdating="GridView1_RowUpdating"
                        onrowcancelingedit="GridView1_RowCancelingEdit"
                        onrowdeleting="GridView1_RowDeleting"
                        onrowdatabound="GridView1_RowDataBound">
                        <Columns>
                            <asp:TemplateField HeaderText="通讯录分组ID">
                                <ItemTemplate>
                                    <asp:Label ID="labelDirCategoryID" runat="server" Text='<%#Eval("DirCategoryID")%>'></asp:Label>
                                </ItemTemplate>
                                <EditItemTemplate>
                                <asp:Label ID="labelDirCategoryID" runat="server" Text='<%#Eval("DirCategoryID")%>'></asp:Label>
                                </EditItemTemplate>
                            </asp:TemplateField>
                            <asp:TemplateField HeaderText="通讯录分组名称">
                                <ItemTemplate>
                                    <asp:Label ID="labelCategoryName" runat="server" Text='<%#Eval("DirCategoryName")%>'></asp:Label>
                                </ItemTemplate>
                                <EditItemTemplate>
                                    <asp:TextBox ID="textboxCategoryName" runat="server" Text='<%#Eval("DirCategoryName")%>'></asp:TextBox>
                                </EditItemTemplate>
                            </asp:TemplateField>
                            <asp:TemplateField HeaderText="通讯录分组类别">
                                <ItemTemplate>
                                    <%#IsPublicMethod(Convert.ToString(Eval("isPublic"))) %>
                                </ItemTemplate>
                                <EditItemTemplate>
                                    <%#IsPublicMethod(Convert.ToString(Eval("isPublic"))) %>
                                </EditItemTemplate>
                            </asp:TemplateField>
                            <asp:TemplateField ShowHeader="False">
                                <ItemTemplate>
                                    <asp:LinkButton ID="lbtnEdit" runat="server"  CommandName="Edit" CommandArgument='<%#Eval("DirCategoryID") %>' CausesValidation="false"
                                        Text="编辑" ></asp:LinkButton>
                                    &nbsp;<asp:LinkButton ID="lbtnDelete" runat="server" CausesValidation="False" CommandName="Delete" CommandArgument='<%#Eval("DirCategoryID") %>'
                                        Text="删除" OnClientClick='return confirm("是否要删除组?");'></asp:LinkButton>
                                </ItemTemplate>
                                <EditItemTemplate>
                                    <asp:LinkButton ID="ButtonUpdate" runat="server" CommandName="update" Text="更新"  CausesValidation="false"/>
                                    <asp:LinkButton ID="ButtonCancle" runat="server" CommandName="Cancel" Text="取消"  CausesValidation="false"/>
                                </EditItemTemplate>
                            </asp:TemplateField>
                        </Columns>
                    </asp:GridView>
     
     后台:
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Text;
using RGPWEB;

public partial class Web_customerlist_sm_DirectoryCategoryList : System.Web.UI.Page
{

    StringBuilder where = new StringBuilder(" 1=1 ");
    Sm_DirectoryCategory SmDirectoryCategory = new Sm_DirectoryCategory();
    protected void Page_Load(object sender, EventArgs e)
    {
        this.GridView1.Attributes.Add("bordercolor", "#a8c7ce");
        Val_Authority();
        if (!IsPostBack)
        {
            DropDownList.SelectedIndex = 0;
            GridView1DateBind();
        }
    }

    #region 添加权限
    public void Val_Authority()
    {
        //是否登录
        if (!SessionBox.CheckUserSession())
        {
            Response.Redirect("~/Login.aspx");
        }
        else
        {
            UserHandle.InitModule("DirectoryCategory_list");//初始化模块权限
            //浏览权限
            if (UserHandle.ValidationHandle(RGP_Tag.Browse))
            {
                //新增权限
                if (UserHandle.ValidationHandle(RGP_Tag.Add))
                {
                    buttonaddpublic.Visible = true;
                }
                else
                {
                    buttonaddpublic.Visible = false;
                }
            }
            else
            {
                Response.Redirect("../No_Authority.aspx");
            }

        }
    }
    #endregion

    protected void GridView1DateBind()
    {
        DataSet DS = null;
        string ispublic = DropDownList.SelectedValue.ToString();
        switch (ispublic)
        {
            case "是":
                where.Append(" and isPublic='是' ");
                break;
            case "否":
                where.Append(" and isPublic='否' ");
                break;
        }
        DS = SmDirectoryCategory.GetList(where.ToString());
        if (DS.Tables[0] != null)
        {
            GridView1.DataSource = DS;
        }
        GridView1.DataBind();
    }
    protected void buttonadd_Click(object sender, EventArgs e)
    {
        model_Sm_DirectoryCategory ModelSmDirectoryCategory = new model_Sm_DirectoryCategory();
        if (Session["UserID"] != null)
        {
            ModelSmDirectoryCategory.c_userid = Convert.ToInt32(Session["UserID"]);
        }
        if (textboxadd.Text != null)
        {
            ModelSmDirectoryCategory.DirCategoryName = textboxadd.Text;
        }
        ModelSmDirectoryCategory.ParentID = 0;
        ModelSmDirectoryCategory.isPublic = "否";
        Sm_DirectoryCategory SmDirectoryCategory = new Sm_DirectoryCategory();
        int result = 0;
        result = SmDirectoryCategory.Add(ModelSmDirectoryCategory);
        if (result == 1)
        {
            Response.Redirect("DirectoryCategory_list.aspx");
        }

    }
    protected string IsPublicMethod(string ispublic)
    {
        switch (ispublic)
        {
            case "是":
                return "公共分组";
            case "否":
                return "私有分组";
            default:
                return "";
        }
    }
    protected void buttonSearch_Click(object sender, EventArgs e)
    {
        GridView1DateBind();
    }
    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        //如果选择的是公共分组,才去控制编辑删除是否显示,私有分组默认都显示
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            if (((System.Data.DataRowView)(e.Row.DataItem)).Row.ItemArray[4].ToString() == "是" || Convert.ToInt32(((System.Data.DataRowView)(e.Row.DataItem)).Row.ItemArray[0]) == 3)
            {
                UserHandle.InitModule("DirectoryCategory_list");
                //编辑权限
                if (UserHandle.ValidationHandle(RGP_Tag.Edit))
                {
                    LinkButton lbtn = (LinkButton)e.Row.FindControl("lbtnEdit");
                    if (lbtn != null)
                        lbtn.Visible = true;
                }
                else
                {
                    LinkButton lbtn = (LinkButton)e.Row.FindControl("lbtnEdit");
                    if (lbtn != null)
                        lbtn.Visible = false;

                }
                //删除权限
                if (UserHandle.ValidationHandle(RGP_Tag.Delete))
                {
                    LinkButton lbtn = (LinkButton)e.Row.FindControl("lbtnDelete");
                    if (lbtn != null)
                        lbtn.Visible = true;
                }
                else
                {
                    LinkButton lbtn = (LinkButton)e.Row.FindControl("lbtnDelete");
                    if (lbtn != null)
                        lbtn.Visible = false;
                }
                if (UserHandle.ValidationHandle(RGP_Tag.Add))
                {
                    buttonaddpublic.Visible = true;
                }
                else
                {
                    buttonaddpublic.Visible = false;
                }
            }
        }
    }
    protected void buttonaddpublic_Click(object sender, EventArgs e)
    {
        model_Sm_DirectoryCategory ModelSmDirectoryCategory = new model_Sm_DirectoryCategory();
        ModelSmDirectoryCategory.c_userid = 0;
        if (textboxadd.Text != null)
        {
            ModelSmDirectoryCategory.DirCategoryName = textboxadd.Text;
        }
        ModelSmDirectoryCategory.ParentID = 0;
        ModelSmDirectoryCategory.isPublic = "是";
        Sm_DirectoryCategory SmDirectoryCategory = new Sm_DirectoryCategory();
        int result = 0;
        result = SmDirectoryCategory.Add(ModelSmDirectoryCategory);
        if (result == 1)
        {
            Response.Redirect("DirectoryCategory_list.aspx");
        }
    }

    protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    {
        GridView1.EditIndex = e.NewEditIndex;
        GridView1DateBind();
    }
    protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        model_Sm_DirectoryCategory modelSmDirectoryCategory = new model_Sm_DirectoryCategory();
        if (((Label)(GridView1.Rows[e.RowIndex].FindControl("labelDirCategoryID"))).Text != "")
        {
            modelSmDirectoryCategory.DirCategoryID = Convert.ToInt32(((Label)(GridView1.Rows[e.RowIndex].FindControl("labelDirCategoryID"))).Text);
        }
        modelSmDirectoryCategory.DirCategoryName = ((TextBox)(GridView1.Rows[e.RowIndex].FindControl("textboxCategoryName"))).Text;
        if (modelSmDirectoryCategory.DirCategoryName != "")
            SmDirectoryCategory.Update(modelSmDirectoryCategory);
        GridView1.EditIndex = -1;
        GridView1DateBind();
    }
    protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        int DirCategoryID = 0;
        if (((Label)(GridView1.Rows[e.RowIndex].FindControl("labelDirCategoryID"))).Text != "")
            DirCategoryID = Convert.ToInt32(((Label)(GridView1.Rows[e.RowIndex].FindControl("labelDirCategoryID"))).Text);
        SmDirectoryCategory.Delete(DirCategoryID);
        GridView1DateBind();
    }
    protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
    {
        GridView1.EditIndex = -1;
        GridView1DateBind();
    }
}

posted on 2010-05-26 18:32  秦威龙  阅读(796)  评论(0编辑  收藏  举报