-1

我正在开发 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();
    }
4

3 回答 3

1

采用:

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

方法ASPxGridView.GetRowValues
属性ASPxGridView.FocusedRowIndex

于 2013-01-07T20:34:54.833 回答
1

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

于 2013-01-08T16:29:25.047 回答
1

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

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;
}
于 2013-02-08T14:11:08.100 回答