c# – Devexpress ASPxGridView GetSelectedFieldValues无法获取值

我正在使用gridview进行分页.我的网格有一个命令列,ShowSelectCheckbox设置为true.我在Page_Load事件中使用条件[if(!IsCallback)]将DataTable绑定到网格.

所以当我改变页面索引数据丢失时.之后我将绑定代码写入网格的PageIndexChanged事件.现在它就像魅力一样.

但是当SelectionChanged事件发生时,GetSelectedFieldValues仅在第一页有效.

例如,当我在第一页选择一行时,它会获得我想要的字段值.但是当我改变pageindex时,GetSelectedField无法获取字段值.它会提醒空文本.

如果我在第二页索引中选择一行,它也可以在该页面上工作,但是当我更改页面索引时,它再次被破坏.

顺便说一下,当我在PageLoad事件中绑定网格时没有!IsCallback条件,但我无法在Page_Load事件中绑定它,因为其他控件必须更改查询等数据.

这是我的javascript函数,它会提醒选定的值

<ClientSideEvents SelectionChanged="function(s, e) {
    grid.GetSelectedFieldValues('SDNO;SANTRAL',alert);
}" />

并且页面索引更改了事件

protected void myGrid_PageIndexChanged(object sender, EventArgs e)
    {
        myGridDataSource = dtable; //dtable is static, i also used BindThat function here too. But no way out.
        myGridDataBind();
    }

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsCallback)
    {
        BindThat(); // Fetch data from db, create dtable and bind it to grid.
    }
}

最佳答案 我认为这不是从客户端获取网格值的正确方法,请检查以下链接:

http://www.devexpress.com/Support/Center/p/Q94237.aspx

[JScript]
function Button1_onclick() {
    ASPxGridView1.GetSelectedFieldValues("CategoryID;CategoryName", OnGetSelectedFieldValues);
}

function OnGetSelectedFieldValues(result) {
    for(var i = 0; i < result.length; i ++)
        for(var j = 0; j <result[i].length; j++) {
            alert(result[i][j]);
        }
} 

问题:您的网格是否支持多种选择?

EDIT1:
还要检查以下示例:

How to use a GetSelectedFieldValues method to obtain values of several columns at once

How to get the values of the selected record from the server

点赞