这个需要在JS中获取ASPxGridView的FocuseRow的多列的值,一顿好找,都没有找到相应的资料,最后还是在官网上找到一点,记录一下,有需要的可以参考:
<dx:ASPxGridView ID="grvSearchResult" ClientInstanceName="grvSearchResult" ...>
<ClientSideEvents FocusedRowChanged="OnGridFocusedRowChanged" />
<Columns>
<dx:GridViewDataTextColumn FieldName="ResultScore" Name="ResultScore" Width="75"Visible="false">
</dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="AppealStatus" Name="AppealStatus" Width="75" >
</dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="RecordReference" Name="RecordReference" Width="75" >
</dx:GridViewDataTextColumn>
...
<Columns>
<SettingsBehavior AllowFocusedRow="true" ColumnResizeMode="Control" />
hdSearchResult是ASPxHiddenField,前后台都能保存获取值,即使在“ResultScore”列是Visible="false",下面的方法还是能拿到焦点行该列的值的
function OnGetRowValues(values) {
hdSearchResult.Set("ResultScore", values[0]);
hdSearchResult.Set("AppealStatus", trim(values[1]));
hdSearchResult.Set("RecordReference", values[2]);
}
function OnGridFocusedRowChanged() {
if (grvSearchResult.GetFocusedRowIndex() < 0)
return;
grvSearchResult.GetRowValues(grvSearchResult.GetFocusedRowIndex(), 'ResultScore;AppealStatus;RecordReference', OnGetRowValues);
}