zoukankan      html  css  js  c++  java
  • dev控件使用1:ASPxGridView

    dev算是一个比较知名的第三方控件了,但是百度的时候,确实查不到太多有用的资料,这里我总结一下自己使用过程中用到的控件,希望大家少走弯路,我使用的是dev的11.1版本。

    gridview应该是编码过程中使用频率最高的数据展示控件了,今天就先写一下这个控件。

    一.使用之前的准备:

    1.使用之前需要添加四个引用,不然拖拽进来也是要报错的:

    2.拖进来一个控件,直接运行,报错,提示aspxClientGridview未定义,查了dev官网上面的答复,需要注册AspxHttpHandleModule:

    解决方法,在webconfig中system.web下面添加:

    <httpModules>
          < add type=" DevExpress.Web.ASPxClasses.ASPxHttpHandlerModule, DevExpress.Web.v11.1, Version=11.1.8.0, Culture=neutral,
               PublicKeyToken=b88d1754d700e49a " name=" ASPxHttpHandlerModule" />
        </ httpModules>
        <httpHandlers>
          < add path=" ASPxUploadProgressHandlerPage.ashx " verb=" GET,POST" type="DevExpress.Web.ASPxUploadControl.ASPxUploadProgressHttpHandler,
               DevExpress.Web.v11.1, Version=11.1.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a " validate="false" />
          < add path=" Reserved.ReportViewerWebControl.axd " verb=" *" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms,
               Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a " validate=" false" />
        </ httpHandlers>

    二.设置数据绑定:

    1.gridview中的自增序号列,使用Container.ItemIndex:

    <dx: GridViewDataTextColumn Caption ="排名">
              <DataItemTemplate>
                   <% #Container.ItemIndex+ 1 %>
              </DataItemTemplate>
    </dx: GridViewDataTextColumn>

    2.属性(以GridViewDataTextColumn为例):

    FieldName:绑定数据源的属性值
    VisibleIndex:显示的顺序
    更多的属性以后补充。。。
     
    3.事件:
    3.1 OnHtmlDataCellPrepared
    循环每一个数据单元格,不包括标题,一般用来设置单元格样式
    e.Cell.Attributes.Add( "style", "padding-left:" + paddingLeft.ToString() + "px;");
     
    设置单元格横向合并:
    e.Cell.ColumnSpan
     
    设置单元格纵向合并:
    e.Cell.RowSpan 
     
    3.2 OnAfterPerformCallback
    gridview页面数据的刷新,调用gridview的refresh方法,执行这个事件。
     
    4.关于列头模板的使用:
    4.1 模板的定义:
    class MyHeaderTemplate : ITemplate
        {
            //可以添加属性传递参数进来
            public string Name { get; set; }
    
            /// <summary>
            /// 初始化方法
            /// </summary>
            /// <param name="container">要添加模板的控件</param>
            public void InstantiateIn(Control container)
            {
                ASPxLabel lblDetail = new ASPxLabel();
                lblDetail.Text = Name+"
    查看详细";
                lblDetail.Attributes.Add("style", "cursor:pointer;");
                lblDetail.ClientSideEvents.Click = "ShowDetail";
                container.Controls.Add(lblDetail);
            }
        }

    4.2模板被gridview的列使用:

    GridViewDataTextColumn gvColumn = new GridViewDataTextColumn();
    MyHeaderTemplate template = new MyHeaderTemplate();
    template.Name = "c罗";
    gvColumn.HeaderTemplate = template;
    gvColumn.CellStyle.HorizontalAlign = HorizontalAlign.Justify;
    gvColumn.CellStyle.VerticalAlign = VerticalAlign.Middle;
    gvPlayerList.Columns.Add(gvColumn);
    gvPlayerList.DataSource = playerList;
    gvPlayerList.DataBind();

    三.遇到的问题:

    1.存在固定列的情况下,出现滚动条的时候,tab不能让滚动条随着光标滚动,这个去dev论坛查过了,他们的售后说无法解决。

    固定列的属性:FixedStyle="Left"
     
    这次就先到这里,以后再补充。。。
  • 相关阅读:
    C# Invoke 和 BeginInvoke 的的区别
    ArcGIS API For JS 中设置图层显示的方法(ArcGISDynamicMapServiceLayer)setVisibleLayers(ids, doNotRefresh?)介绍
    OpenLayer学习之矢量地图
    Python爬去百思不得其解的图片(VS2017)
    .NET面试试题
    arcgis for javascript 鼠标移到对象上面则置亮并弹出气泡
    ASP.NET MVC 中IBaseDal接口的封装
    ASP.NET中MemcacheHelper封装
    ASP.NET验证码的封装和使用
    Self-Paced Training (2)
  • 原文地址:https://www.cnblogs.com/jinshizuofei/p/4182937.html
Copyright © 2011-2022 走看看