我正在使用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