我想得到一个特定焦点行和前一行的单元格值?我试过这段代码,
object obj1 = gridView1.GetRowCellValue(gridView1.FocusedRowHandle - 1, gridView1.Columns["Each"]);
string str1= obj1.ToString();
textEdit1.Text = str1;
textEdit1.Text = gridView1.SetRowCellValue(gridView1.FocusedRowHandle, gridView1.Columns["Each"]);
但是此代码适用于按钮,但在RepositoryItemGridLookupEdit_ValueChanged事件中不起作用,或者在CustomUnboundDataEvent中不起作用。
我想在编辑值更改事件中获取gridview的单元格值,然后在textEdit中设置?帮助我。
答案 0 :(得分:1)
首先:textEdit1.Text = gridView1.SetRowCellValue(gridView1.FocusedRowHandle, gridView1.Columns["Each"]);
没有意义,因为你没有设置TextEdit的值,只是Cell的值。 SetRowCellValue是void方法!
要获得焦点行和上一行,您必须处理gridview.focusedrowchanged事件。您可以将行转换为数据源的值,然后将值分配给textedit。
示例:
private void grvUebersicht_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e)
{
DataRow row = (DataRow)grvUebersicht.GetRow(e.FocusedRowHandle);
DataRow row2 = (DataRow) grvUebersicht.GetRow(e.PrevFocusedRowHandle);
TextEdit textedit = new TextEdit();
textedit.Text = row["MyColumn"].ToString();
}
此外,您应该考虑使用IList作为DataSource。在我看来,它更美丽,更现代。如果您需要帮助,我可以发送示例;)