目录:
一、客户端常用
1.常用API
2.聚焦行变更事件
3.客户端选择多行
4.客户端选择行
5. 获取选择的行数目
6.单击行时,选中行
7.通过checkbox 选择行
8.选择所有行
9.启动编辑框,Container.VisibleIndex 获取行索引
10.启动服务器端函数:
二、客户端常用事件

三、服务器端常用属性

四、服务器端常用方法

五、服务器端常用事件

六、列的设置
1.模板列使用超链接
2.模板列使用Button用法
3. 使用命令列

七、其他

------------------------
------------------------
内容:
一客户端常用
1.常用API:
  PerformCallback(this.value);
    CollapseAll()
    ExpandAll()
    SelectRows()
    UnselectRows()
    UnselectAllRowsOnPage()
    SelectAllRowsOnPage(this.checked)

2.聚焦行变更事件。向服务器查询聚焦行的 "EmployeeID" 和 "Notes" 信息,并该信息将返回到 OnGetRowValues() 函数
 function OnGridFocusedRowChanged() {
        grid.GetRowValues(grid.GetFocusedRowIndex(), 'EmployeeID;Notes', OnGetRowValues);
    }
    // 处理服务器端传回的数据(values是个数组,包含 "EmployeeID" 和 "Notes" 值)
    function OnGetRowValues(values) {
        DetailImage.SetImageUrl("FocusedRow.aspx?Photo=" + values[0]);
        DetailNotes.SetText(values[1]);
    }
 <ClientSideEvents FocusedRowChanged="function(s, e) { OnGridFocusedRowChanged(); }"/>

3.客户端选择多行
  function grid_SelectionChanged(s, e) {
        s.GetSelectedFieldValues("ContactName", GetSelectedFieldValuesCallback);
    }
    function GetSelectedFieldValuesCallback(values) {    
        selList.BeginUpdate();
        try {
            selList.ClearItems();
            for(var i = 0; i < values.length; i ++) {
                selList.AddItem(values[i]);
            }
        } finally {
            selList.EndUpdate();
        }
        document.getElementById("selCount").innerHTML = grid.GetSelectedRowCount();
    }
  <ClientSideEvents SelectionChanged="grid_SelectionChanged" />

4.客户端选择行
function OnGridFocusedRowChanged() 
    {
        // Query the server for the "EmployeeID" and "Notes" fields from the focused row 
        // The values will be returned to the OnGetRowValues() function
        grid.GetRowValues(grid.GetFocusedRowIndex(), 'EmployeeID;Notes', OnGetRowValues);
    }
    //Value array contains "EmployeeID" and "Notes" field values returned from the server 
    function OnGetRowValues(values) 
    {
        var notes = document.getElementById("detailnotes");
        notes.value = values[1];
        var image = document.getElementById("detailimage");
        image.src = "FocusedRow.aspx?Photo=" + values[0];
    }

5. 获取选择的行数目  grid.GetSelectedRowCount()

6.单击行时,选中行
function OnRowClick(e) {
    //Clear the text selection
    _aspxClearSelection();
    //Unselect all rows
    grid._selectAllRowsOnPage(false);
    //Select the row
    grid.SelectRow(e.visibleIndex, true);
}
 <ClientSideEvents RowClick="function(s, e) { OnRowClick(e); }" />

7.通过checkbox 选择行  设置GridView 的属性ShowSelectCheckBox =true
function grid_SelectionChanged(s,e) {
            s.GetSelectedFieldValues("ContactName",GetSelectedFieldValuesCallback);
        }
GetSelectedFieldValuesCallback 回调函数

function GetSelectedFieldValuesCallback(values) {
            selList.BeginUpdate();
            try {
                selList.ClearItems();
                for(var i=0;i<values.length;i++) {
                    selList.AddItem(values[i]);
                }
            } finally {
                selList.EndUpdate();
            }
            document.getElementById("selCount").innerHTML=grid.GetSelectedRowCount();
        }

selList 是ASPxListBox控件

8.选择所有行: grid.SelectAllRowsOnPage(this.checked);

9.grid.StartEditRow(VisibleIndex) 启动编辑框,Container.VisibleIndex 获取行索引
<dxwgv:GridViewDataColumn FieldName="CustomerID" VisibleIndex="0">
                <DataItemTemplate>
                    <%#GetEditRowHtml(Container.VisibleIndex) %>  GetEditRowHtml 为后台一个方法返回一个字符串
                </DataItemTemplate>
            </dxwgv:GridViewDataColumn>
protected string GetEditRowHtml(int visibleIndex) {
        string rowValue = Convert.ToString(grid.GetRowValues(visibleIndex, "Country"));
        string cbValue = Convert.ToString(cbCountries.Value);
        if(rowValue == cbValue)
            return string.Format("<a href='JavaScript:grid.StartEditRow({0})'> Edit </a>", visibleIndex);
        return "Read Only";
    }

10.启动服务器端函数:  _CustomerCallBack()
  PerformCallback(parameter)

二、客户端常用事件
1.
<ClientSideEvents FocusedRowChanged="function(s, e) { OnGridFocusedRowChanged(); }"/>
2.
 <ClientSideEvents SelectionChanged="grid_SelectionChanged" />

3.
 <ClientSideEvents RowClick="function(s, e) { OnRowClick(e); }" />

三、服务器端常用属性

四、服务器端常用方法
1.获取指定行的数据
object masterKeyValue = masterGrid.GetRowValues(Convert.ToInt32(e.Parameters), "CategoryID");

2.查找包含在gridview中的控件
 grid.FindRowTemplateControl(e.VisibleIndex,"id");
 grid.FindRowCellTemplateControl(e.VisibleIndex, null, "id");
 Label label = grid.FindRowCellTemplateControl(e.VisibleIndex, null, "changePercent") as Label;

六、服务器端常用事件

1.行创建时执行事件
 protected void grid_HtmlRowCreated(object sender, ASPxGridViewTableRowEventArgs e)
    {
         e.Row.Cells[0].Enabled = false;
 e.GetValue("Change")    decimal change = (decimal)e.GetValue("Change");

}  
2.动态设置每个单元格的显示内容:
 protected void grid_CustomColumnDisplayText(object sender, ASPxGridViewColumnDisplayTextEventArgs e)

 e.Column.FieldName 
  e.DisplayText 
}
3.编辑事件
 protected void grid_RowUpdating(object sender, DevExpress.Web.Data.ASPxDataUpdatingEventArgs e)

4. protected void grid_BeforeColumnSortingGrouping(object sender, ASPxGridViewBeforeColumnGroupingSortingEventArgs e)
    {
        BindGrid();
    }

六、列的设置
1.模板列使用超链接
a.<dxwgv:GridViewDataColumn Caption=" " Width="64px">
                <DataItemTemplate>
                    <a href="javascript:showEditForm('<%# Container.KeyValue.ToString() %>');">编辑</a>
                    <a href="javascript:deleteRow('<%# Container.KeyValue.ToString() %>');">删除</a>
                </DataItemTemplate>
                <Settings AllowDragDrop="False" />
            </dxwgv:GridViewDataColumn>

b.<dxwgv:GridViewDataColumn Caption="单号" FieldName="note_id">
            <DataItemTemplate>
            <a href="VisitorNoteDetail.aspx?note_id=<%#Eval("note_id") %>"><%#Eval("note_id") %></a>
            </DataItemTemplate>
            </dxwgv:GridViewDataColumn>

c.<dxwgv:GridViewDataHyperLinkColumn Caption="单据ID" FieldName="note_id" Width="80px"
                VisibleIndex="2">
                <PropertiesHyperLinkEdit TextFormatString="note_id" NavigateUrlFormatString="VisitorNoteDetail.aspx?id={0}">
                </PropertiesHyperLinkEdit>
            </dxwgv:GridViewDataHyperLinkColumn>

2.模板列使用Button用法
a. 前台代码:
  <dxwgv:GridViewDataColumn Caption="审批" Width="110" VisibleIndex="1">
                <DataItemTemplate>
                    <div style="float: left; padding-right:3px;">
                        <dxe:ASPxButton ID="btAllow" runat="server" Text="通过" CommandName="Allow"  CommandArgument='<

%#Eval("note_id")%>'>
                        <ClientSideEvents Click="function(s,e) {if(!confirm('确定审批该单据吗?'))

{e.processOnServer=false;}}" />
                        </dxe:ASPxButton>
                    </div>
                    <dxe:ASPxButton ID="btRefuse" runat="server" Text="拒绝" CommandName="Refuse" CommandArgument='<%#Eval

("note_id")%>' >
                        <ClientSideEvents Click="function(s,e) {if(!confirm('确定审批该单据吗?'))

{e.processOnServer=false;}}" />
                    </dxe:ASPxButton>
                </DataItemTemplate>
            </dxwgv:GridViewDataColumn>

b.后台代码:(事件:grid_RowCommand)
  
 protected void grid_RowCommand(object sender, ASPxGridViewRowCommandEventArgs e)
    {
        
        ASPxButton button=e.CommandSource as ASPxButton;
        int noteID = Convert.ToInt32(button.CommandArgument.ToString());
        if (button.CommandName == "Allow")
        {
            ApproveNote(noteID, 1, 1);
           
        }
        else
        {
            ApproveNote(noteID, 2, 0);
        }
        BindGrid();
    }

3. 使用命令列
 a.<%--<dxwgv:GridViewCommandColumn Caption="审批" ButtonType="Button" Width="80px" VisibleIndex="1">
                <CustomButtons>
                    <dxwgv:GridViewCommandColumnCustomButton ID="Allow" Text="通过">
                    </dxwgv:GridViewCommandColumnCustomButton>
                    <dxwgv:GridViewCommandColumnCustomButton ID="Refuse" Text="拒绝">
                    </dxwgv:GridViewCommandColumnCustomButton>
                </CustomButtons>
            </dxwgv:GridViewCommandColumn>--%>

后台事件是:_CustomerCallBack

b. <dxwgv:GridViewCommandColumn ShowSelectCheckbox="true"  Width="30px"  VisibleIndex="1"  >
                <HeaderTemplate>
                    <input type="checkbox" onclick="grid.SelectAllRowsOnPage(this.checked);" title="选择/放弃选择本页的所有

行" />
                </HeaderTemplate>
                <HeaderStyle HorizontalAlign="Center" />
            </dxwgv:GridViewCommandColumn>

后台获取选择行的方法: List<object> noteIds=grid.GetSelectedFieldValues("note_id");

七、其他
1.ASPxGridView 排序方法
 private string GetSort()
    {
        string sortID = "";
        if (grid.GetSortedColumns().Count > 0)
        {
            GridViewDataColumn c = grid.GetSortedColumns()[0];
            sortID = c.FieldName + (c.SortOrder == ColumnSortOrder.Descending ? " DESC" : " ASC");
        }
        return sortID;

}
对应的ASPxGridView 后台事件:
 protected void grid_BeforeColumnSortingGrouping(object sender, ASPxGridViewBeforeColumnGroupingSortingEventArgs e)
    {
        BindGrid();
    }

ASPxGridView常用总结的更多相关文章

  1. AspxGridView使用手记

    AspxGridView使用手记   一.  基本使用方法  4 1.导入Dll文件   4 2.Asp.Net页面控件注册 4 3. Asp.Net页面控件声明    5 4.删除licenses. ...

  2. 常用 Gulp 插件汇总 —— 基于 Gulp 的前端集成解决方案(三)

    前两篇文章讨论了 Gulp 的安装部署及基本概念,借助于 Gulp 强大的 插件生态 可以完成很多常见的和不常见的任务.本文主要汇总常用的 Gulp 插件及其基本使用,需要读者对 Gulp 有一个基本 ...

  3. 分布式锁1 Java常用技术方案

    前言:       由于在平时的工作中,线上服务器是分布式多台部署的,经常会面临解决分布式场景下数据一致性的问题,那么就要利用分布式锁来解决这些问题.所以自己结合实际工作中的一些经验和网上看到的一些资 ...

  4. Visaul Studio 常用快捷键的动画演示

    从本篇文章开始,我将会陆续介绍提高 VS 开发效率的文章,欢迎大家补充~ 在进行代码开发的时候,我们往往会频繁的使用键盘.鼠标进行协作,但是切换使用两种工具会影响到我们的开发速度,如果所有的操作都可以 ...

  5. sublime常用快捷键

    自己觉得比较实用的sublime快捷键: Ctrl + /  ---------------------注释 Ctrl + 滚动 --------------字体变大/缩小 Ctrl + N----- ...

  6. SQL Server 常用内置函数(built-in)持续整理

    本文用于收集在运维中经常使用的系统内置函数,持续整理中 一,常用Metadata函数 1,查看数据库的ID和Name db_id(‘DB Name’),db_name('DB ID') 2,查看对象的 ...

  7. 探索ASP.NET MVC5系列之~~~4.模型篇---包含模型常用特性和过度提交防御

    其实任何资料里面的任何知识点都无所谓,都是不重要的,重要的是学习方法,自行摸索的过程(不妥之处欢迎指正) 汇总:http://www.cnblogs.com/dunitian/p/4822808.ht ...

  8. React在开发中的常用结构以及功能详解

    一.React什么算法,什么虚拟DOM,什么核心内容网上一大堆,请自行google. 但是能把算法说清楚,虚拟DOM说清楚的聊聊无几.对开发又没卵用,还不如来点干货看看咋用. 二.结构如下: impo ...

  9. 【原】实时渲染中常用的几种Rendering Path

    [原]实时渲染中常用的几种Rendering Path 本文转载请注明出处 —— polobymulberry-博客园 本文为我的图形学大作业的论文部分,介绍了一些Rendering Path,比较简 ...

随机推荐

  1. DevExpress添加Winform窗体到DockPanel

    在使用DevExpress过程中,原先已经创建好的导航窗体,如何添加到DockPanel中进行展示? FormX frmX = new FormX(); frmX.Show(this.DockPane ...

  2. 使用Nginx限制同一IP的访问频率

    http://nginx.org/en/docs/http/ngx_http_limit_conn_module.html http://nginx.org/en/docs/http/ngx_http ...

  3. iOS AppIcon尺寸和上传ITunes构建版本尺寸和iPhone屏幕尺寸

    避免忘记. 记录一下 App Icon: 29X2940X4058X5876X7687X8780X80120X120152X152167X167180X180 ITunes构建版本: 1242 x 2 ...

  4. 腾讯开放平台 iOS应用URL schema、Bundle ID填写 (含微博、微信)

    解释如下: qq比较麻烦点,需要两个 URL schemes 1.QQ+appID(注意:appID原本是10进制的,需要先转换16进制,网址:点击转换16进制) 2.tencent+appID 结束

  5. HDUOJ-----2852 KiKi's K-Number(树状数组+二分)

    KiKi's K-Number Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)T ...

  6. HDUOJ--1159Common Subsequence

    Common Subsequence Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Other ...

  7. 能让你聪明的工作DEAL四法则,来自《每周工作四小时》书籍

    来自书籍<每周工作四小时>,作者蒂莫西·费里斯(Tim Ferriss,昵称:蒂姆)   能让你聪明的工作DEAL四法则: 第一步:D——定位(Definition) 第二步:E——精简( ...

  8. eclipse 垃圾回收器,内存释放

    http://zhangrong-0825-163-com.iteye.com/blog/7334071.如何在eclipse里修改web工程的访问路径,步骤如下: 点击web工程——>选择pr ...

  9. 微信小程序四(设置底部导航)

    好了 小程序的头部标题 设置好了,我们来说说底部导航栏是如何实现的. 我们先来看个效果图 这里,我们添加了三个导航图标,因为我们有三个页面,微信小程序最多能加5个. 那他们是怎么出现怎么着色的呢?两步 ...

  10. oracle11g本地可以访问但局域网无法访问

    问题描述,现在有两台电脑 A 和 B : 1)电脑 A 上有 Oracle11G服务端: ip地址 192.168.1.198; 端口1521: 2)电脑 A 本机连接数据库正常,可以登录及操作等: ...