Devexpress ASPxGridview从服务器端获取行数据

Devexpress ASPxGridview从服务器端获取行数据,devexpress,aspxgridview,Devexpress,Aspxgridview,我正在使用DevXPress Gridview,我想获取所选行的数据,同时只能选择一行。我在服务器端工作,使用FocusedRowChanged函数 编辑:FocusedRowChanged fire但什么也没发生,文本框不改变值 protected void dxgrDepartement_FocusedRowChanged(object sender, EventArgs e) { Page.ClientScript.RegisterClientScr

我正在使用DevXPress Gridview,我想获取所选行的数据,同时只能选择一行。我在服务器端工作,使用FocusedRowChanged函数

编辑:FocusedRowChanged fire但什么也没发生,文本框不改变值

protected void dxgrDepartement_FocusedRowChanged(object sender, EventArgs e)
        {
            Page.ClientScript.RegisterClientScriptBlock(GetType(), "FetchData", "<script                          language='javascript'>FetchData('4654654646')</script>");
            txtDescription.Text = "patate";
            //txtComments.Text = dxgrDepartement.GetRowValues(dxgrDepartement.FocusedRowIndex, "IdDepartment").ToString();
        }
以及获取的数据:

        function FetchData(text) {
        //ClearField();
        document.getElementById("<%= txtDescription.ClientID %>").value = text.toString();
    }
使用:

方法
属性grid.EnableCallback=false;解决了我的问题

顺便说一句-更改回调属性对我们没有影响。我们需要回调其他功能,因此无论如何都无法关闭此功能

GetRowValues方法也不起作用

这是DevXPress网站上描述的一种技术,只要我们不使用DevXPress控件ASPxDateEdit,ASPxTextBox,它就对我们有效:

ASPX页面:

    <dxwgv:GridViewDataTextColumn Caption="Dist. %" FieldName="DistributionPerc" VisibleIndex="3"
        Width="50px">
        <DataItemTemplate>
            <asp:TextBox ID="txtDistPerc" runat="server" Text='<%# Eval("DistributionPercent") %>'
                Width="50px" />
        </DataItemTemplate>
    </dxwgv:GridViewDataTextColumn>
代码隐藏:

for (int i = 0; i < grdHistory.VisibleRowCount; i++)
{
    TextBox textbox = grdHistory.FindRowCellTemplateControl(i, grdHistory.Columns["DistributionPerc"] as GridViewDataColumn, "txtDistPerc") as TextBox;
    var anything = textbox.Text;
}

实际上,它只在页面加载时工作,它向我显示DefaultFocusedRow的值
for (int i = 0; i < grdHistory.VisibleRowCount; i++)
{
    TextBox textbox = grdHistory.FindRowCellTemplateControl(i, grdHistory.Columns["DistributionPerc"] as GridViewDataColumn, "txtDistPerc") as TextBox;
    var anything = textbox.Text;
}