首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何获取DevExpress XtraGrid的选中行值?

如何获取DevExpress XtraGrid的选中行值?
EN

Stack Overflow用户
提问于 2012-10-07 02:32:42
回答 6查看 159.9K关注 0票数 18

考虑下图

当我使用以下代码单击一个单元格时,我在图中所示的三个文本框中获得了选定的行值。

代码语言:javascript
复制
void dataGridView1_CellClick_1(object sender, DataGridViewCellEventArgs e) {
    TBGRNo.Text = dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString();
    TBSName.Text = dataGridView1.Rows[e.RowIndex].Cells[1].Value.ToString();
    TBFName.Text = dataGridView1.Rows[e.RowIndex].Cells[2].Value.ToString();
}

我的问题是:我如何在DevExpress XtraGrid控件中做同样的事情?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2012-10-08 15:52:52

您可以通过多种方式完成此操作。您可以使用数据绑定(通常在InitializeComponent();之后初始化)

代码语言:javascript
复制
textBox1.DataBindings.Add(new Binding("Text", yourBindingSource, 
                    "TableName.ColumnName", true, DataSourceUpdateMode.OnPropertyChanged));

或者使用DataLayoutControl (如果你打算使用textbox进行编辑,我真的建议你花点时间学习如何使用这个组件。

或者在FocusedRowChanged中,通过从以下方法之一进行赋值:

代码语言:javascript
复制
textBox1.Text = gridView1.GetDataRow(e.FocusedRowHandle)["Name"].ToString();
textBox1.Text = gridView1.GetFocusedDataRow()["Name"].ToString();
textBox1.Text = (gridView1.GetFocusedRow() as DataRowView).Row["Name"].ToString();
textBox1.Text = gridView1.GetFocusedRowCellValue("Name").ToString();
票数 26
EN

Stack Overflow用户

发布于 2013-02-16 00:52:11

这就是我所遵循的方法,

代码语言:javascript
复制
int[] selRows = ((GridView)gridControl1.MainView).GetSelectedRows();
DataRowView selRow = (DataRowView)(((GridView)gridControl1.MainView).GetRow(selRows[0]));
txtName.Text = selRow["name"].ToString();

您还可以使用selRows数组遍历选定的行。这里的代码描述了如何只从第一个选中的行中获取数据。您可以插入这些代码行来单击网格的事件。

票数 27
EN

Stack Overflow用户

发布于 2012-10-08 03:33:44

我找到了如下解决方案:

代码语言:javascript
复制
private void gridView1_RowCellClick(object sender, DevExpress.XtraGrid.Views.Grid.RowCellClickEventArgs e)
{
    TBGRNo.Text = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "GRNo").ToString();
    TBSName.Text = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "SName").ToString();
    TBFName.Text = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "FName").ToString();            
}

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12762617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档