目录:
一、客户端常用
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();
    }

dev中gridview控件 z的更多相关文章

  1. 玩转控件:对Dev中GridControl控件的封装和扩展

    又是一年清明节至,细雨绵绵犹如泪光,树叶随风摆动.... 转眼间,一年又过去了三分之一,疫情的严峻让不少企业就跟清明时节的树叶一样,摇摇欲坠.裁员的裁员,降薪的降薪,996的996~~说起来都是泪,以 ...

  2. ASP.NET中GridView控件删除数据的两种方法

      今天在用GridView控件时,发现了一个问题,就是使用GridView控件在删除数据时的问题.接下来我们通过模板列方式和CommandField方式删除某条数据讲解下两者之间的区别. 方式一:通 ...

  3. devexpress中gridview控件编辑时改变输入法状态

    在win7环境下使用Devexpress中的SpinEdit控件,切换成中文[简/繁]输入法输入数字键时有不少输入法会重复产生数字如输入1会变成11,输入123会变成112233.使用SpinEdit ...

  4. 关于开发C#中的asp.net中gridview控件的使用

    原文网址:http://blog.sina.com.cn/s/blog_67f1b4b201017663.html 1.GridView无代码分页排序: 效果图: 1.AllowSorting设为Tr ...

  5. asp.net中gridview控件的一些基本使用方法

    [ 转自苏飞博客]共两篇 (1)菜单目录: GridView无代码分页排序GridView选中,编辑,取消,删除GridView正反双向排序GridView和下拉菜单DropDownList结合Gri ...

  6. 20150709---Web中GridView控件根据绑定的数据显示不同的图片

    示例图: 根据数据判断,显示各种不同的图片 该列的前端代码: <asp:TemplateField HeaderText="审图"> <ItemTemplate& ...

  7. 玩转控件:对Dev的GridControl控件扩展

    缘由 一切实现来源于需求,目的在于不盲目造轮子,有小伙伴儿在看了<玩转控件:对Dev中GridControl控件的封装和扩展>文章后,私信作者说,因公司业务逻辑比较复杂,展示字段比较多,尤 ...

  8. Winform 中DataGridView、dev Gridview控件添加行标题

    有很多种方法. 1.可以在DataGridView控件中的RowStateChanged事件改变行标题单元格的值(Row.HeaderCell.Value) /// <summary> / ...

  9. .net dataGridView当鼠标经过时当前行背景色变色;然后【给GridView增加单击行事件,并获取单击行的数据填充到页面中的控件中】

    1.首先在前台dataGridview属性中增加onRowDataBound属性事件 2.然后在后台Observing_RowDataBound事件中增加代码 protected void Obser ...

随机推荐

  1. IOS中的NSTimer定时器详解

    /* 在IOS中有多种定时器,这里我对NSTimer定时器做了一个简单的介绍.如果你是小白,你可能会从这篇文章中学习到一些知识,如果你是大牛,请别吝啬你的评论,指出我的不足,你的质疑是对我最大的帮助. ...

  2. xcode插件安装完之后无法使用问题解决

    1.打开xcode插件所在的目录: 例如: ~/wangdi/library/Application Support/Developer/Shared/Xcode/Plug-ins /Users/su ...

  3. 如何在windows server 2008的桌面上显示 我的电脑

    装完windows server2008 r2 x64后发现桌面只有一个回收站图标,这一点和xp 20003都差不多,但是xp 2003很容易就把桌面上的 我的电脑 我的文档 网上邻居找到,但是win ...

  4. How to say all the keyboard symbols in English and Chinese

    How to say all the keyboard symbols in English Symbol English 中文 ~ tilde 波浪号 ` grave accent, backquo ...

  5. javascript 笔记(1)

    document.forms[0].names.value == '' forms[0]表示文档的第一个 form 表单,names 表示这个表单元素名为 names 的表单的元素,此时表示的是获取此 ...

  6. winform 禁用鼠标滚轮

    新建一个类,继承IMessageFilter public class FormFilter : IMessageFilter { public bool PreFilterMessage(ref M ...

  7. html5 API

    1.Canvas绘图 2.postMessage跨域.多窗口传输 3.requestAnimationFrame动画 4.PageVisibility API页面可见性 5.File 本地文件操作 6 ...

  8. Python学习笔记——正则表达式入门

    # 本文对正则知识不做详细解释,仅作入门级的正则知识目录. 正则表达式的强大早有耳闻,大一时参加一次选拔考试,题目就是用做个HTML解析器,正则的优势表现得淋漓尽致.题外话不多讲,直接上干货: 1. ...

  9. ImageList半透明,Alpha通道bug处理。

    由于ImageList的先天障碍,对alpha通道支持不好.虽然到xp有所改善,但瑕疵依然存在. 通过reflactor发现ImageList通过windows api来进行读写的.写入数据时会对原始 ...

  10. Ubuntu15.10 编译VLC Android(安卓)过程记录

    持续更新中... 最后一次修改于 2016-03-20 15:33:45 1.必要库的安装 除基本编译环境(gcc.g++等外),需要额外安装如下的库(用于下载必要的依赖文件) (1)JDK 推荐安装 ...