ASPxGridview从服务器端获取行数据

时间:2013-01-07 19:55:37

标签: devexpress aspxgridview

我正在开发DevExpress Gridview,我想获取所选行的数据(当时只能选择一行)。我在服务器端工作,我正在使用FocusedRowChanged函数。

编辑:FocusedRowChanged火灾但没有任何反应,文本框不会改变值

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();
        }

和“FetchData:

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

3 个答案:

答案 0 :(得分:1)

使用:

gridView.GetRowValues(gridView.FocusedRowIndex, columnFieldName1, columnFieldName2, ..., columnFieldNameN)

方法ASPxGridView.GetRowValues
财产ASPxGridView.FocusedRowIndex

答案 1 :(得分:1)

grid.EnableCallback = false;解决了我的问题!

答案 2 :(得分:1)

BTW - 更改回调属性对我们没有任何影响。我们需要回调其他功能,所以无论如何也无法关闭它。

GetRowValues方法也不起作用。

这是DevExpress网站上描述的一种技术,只要我们没有使用DevExpress的控件(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;
}