我正在开发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();
}
答案 0 :(得分:1)
使用:
gridView.GetRowValues(gridView.FocusedRowIndex, columnFieldName1, columnFieldName2, ..., columnFieldNameN)
答案 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;
}