我用DevexpressGridView显示所有TOPIC(id,title,content)
<dx:ASPxGridView ID="gv" runat="server" OnSelectionChanged="gv_SelectionChanged" >
我有grid_SelectionChanged事件:
protected void gv_SelectionChanged(object sender,EventArgs e) { int id= selected row...???; //how can I get the value of selected row string sql = "select * from TOPIC where idTOPIC="+id; DataTable topic = l.EXECUTEQUERYsql(sql); TextBox1.Text = topic.Rows[0][1].ToString(); }
…
看来gv.SelectedRow方法在DevGridview中不存在.
按照建议,我尝试使用FocusedRowIndex方法,但我真的不知道正确的语法来获取所选行的值.
救命!!!
解决方法
更改选择与更改聚焦行不同.有关两者之间的差异,请参阅
Selection
的文档.
您可以使用gv.GetSelectedFieldValues
获取所选的行.
var ids = gv.GetSelectedFieldValues("id"); foreach( var id in ids ) DoSomethingWithObject(id);
如果您对焦点行感兴趣,则应该处理FocusedRowChanged
事件.
您可以使用FocusedRowIndex值来索引gv.DataSource的行,例如:
DataTable ds = (DataTable)gv.DataSource; var id = ds.Rows[gv.FocusedRowIndex]["id"];