使用ASPxGridView的心得。(第三方控件)

来源:互联网 发布:网络软件设计 编辑:程序博客网 时间:2024/05/17 04:31

首先是设计页面。当然要在装了第三方控件的基础上。例子使用的是Access数据库。

引用部分:

<%@ Register assembly="DevExpress.Web.ASPxGridView.v8.2, Version=8.2.4.0, Culture=neutral, PublicKeyToken=49d90c14d24271b5" namespace="DevExpress.Web.ASPxGridView" tagprefix="dxwgv" %>
<%@ Register assembly="DevExpress.Web.ASPxEditors.v8.2, Version=8.2.4.0, Culture=neutral, PublicKeyToken=49d90c14d24271b5" namespace="DevExpress.Web.ASPxEditors" tagprefix="dxe" %>

 

设计:(可以使用默认状态的设计)

 <dxwgv:ASPxGridView ID="grid" ClientInstanceName="grid" runat="server"
            DataSourceID="AccessDataSource1" KeyFieldName="OperId" Width="100%"
            EnableRowsCache="False" oncustomcallback="grid_CustomCallback">
             <SettingsPager AlwaysShowPager="True" Position="TopAndBottom">
                <AllButton Visible="True">
                </AllButton>
                <Summary AllPagesText="Page: {0} - {1} ({2} items)"
                    Text="页码: {0} /{1}[共有{2}页]" />
            </SettingsPager>
        <Columns>
            <dxwgv:GridViewCommandColumn VisibleIndex="4">
                <EditButton Visible="true" Text="编辑" />
                <DeleteButton Visible="true" Text="删除">                  
                </DeleteButton>
            </dxwgv:GridViewCommandColumn>
            <dxwgv:GridViewDataColumn FieldName="OperId" Caption="编号" VisibleIndex="0" />           
            <dxwgv:GridViewDataColumn FieldName="OperName" VisibleIndex="1" />
            <dxwgv:GridViewDataColumn FieldName="OperPwd" VisibleIndex="2" />
            <dxwgv:GridViewDataColumn FieldName="RealName" VisibleIndex="3" />
        </Columns>    
          <Settings ShowFilterRow="True" />
          <SettingsEditing PopupEditFormWidth="600px" />
     </dxwgv:ASPxGridView>
    <asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/App_Data/boolshop.mdb"
        OnDeleting="AccessDataSource1_Modifying" OnInserting="AccessDataSource1_Modifying" OnUpdating="AccessDataSource1_Modifying"
        SelectCommand="SELECT * FROM [Oper]" DeleteCommand="DELETE FROM [Oper] WHERE [OperId] = @OperId"
        InsertCommand="INSERT INTO [Oper] ([OperId], [OperName], [OperPwd], [RealName]) VALUES (@OperId,@OperName,@OperPwd,@RealName)"
        UpdateCommand="UPDATE [Oper] SET [OperName] = @OperName, [OperPwd] =@OperPwd, [RealName] = @RealName WHERE [OperId] = @OperId">
        <DeleteParameters>
            <asp:Parameter Name="OperId" Type="String" />
        </DeleteParameters>
        <UpdateParameters>
            <asp:Parameter Name="OperId" Type="String" />
            <asp:Parameter Name="OperName" Type="String" />
            <asp:Parameter Name="OperPwd" Type="String" />
            <asp:Parameter Name="RealName" Type="String" />
        </UpdateParameters>
    </asp:AccessDataSource>

 

然后就可以绑定数据了,我使用的是用代码绑定。

 protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            string[] names = Enum.GetNames(typeof(GridViewEditingMode));
            foreach (string name in names)
            {
                ddlEditMode.Items.Add(name);
            }
            ddlEditMode.Text = grid.SettingsEditing.Mode.ToString();

            this.MyGetData();
        }

       
    }

  public void MyGetData()
    {
        string sSql = @"select * from sDepart where Kind=0";

        DataTable table = CommClass.GetDataTable(sSql);//BoolDAL.DbHelper.GetDataTable(sSql);

        ASPxGridView1.DataSource = table;

        ASPxGridView1.DataBind();
       
    }

 

  protected void grid_CustomCallback(object sender, ASPxGridViewCustomCallbackEventArgs e)
    {      

        int index = -1;
        if (int.TryParse(e.Parameters, out index))
            grid.SettingsEditing.Mode = (GridViewEditingMode)index;

    }
    protected void ddlEditMode_SelectedIndexChanged(object sender, EventArgs e)
    {
        GridViewEditingMode mode = (GridViewEditingMode)Enum.Parse(typeof(GridViewEditingMode), ddlEditMode.Text);

        grid.SettingsEditing.Mode = mode;
    }
    protected void AccessDataSource1_Modifying(object sender, SqlDataSourceCommandEventArgs e)
    {
        //DemoSettings.AssertNotReadOnly();
    }

原创粉丝点击