gpt4 book ai didi

c# - 无法从 xtragridview 获取点击行的数据

转载 作者:太空宇宙 更新时间:2023-11-03 13:17:31 24 4
gpt4 key购买 nike

private void gridControl1_Click(object sender, EventArgs e)
{

int rowHandle = gridView1.FocusedRowHandle;
object myColumnValue = gridView1.GetRowCellValue(rowHandle, "PName Lastname");

}

我使用 dbml 作为数据源,xtragridview 作为 gridview。我的问题是我在 gridview 的运行设计器的列选项卡中看不到列。因此,当我想在代码中使用列名时,我正在编写在运行时显示在 gridview 上的列名。但他们似乎不是真的。我不熟悉使用 LINQ。GetDataRow() GetRow() 等返回空值。如何从 gridview 获取点击/聚焦行的数据?

最佳答案

首先:DevExpress 的Help 真的 super 棒,他们通常会很快回答这类问题。

无论如何,这是它的工作原理:

首先不要使用 Click 函数,因为它会在任何点击组件时触发,但您只想点击单元格以获取值(RowClickRowCellClick)。

在下面的示例中,我实际上等待双击 (e.Clicks == 2)

注意“DataEntry”是绑定(bind)到数据源时使用的类型

在我的例子中是这样的gridControlData.DataSource = source其中 source 的类型为 List<DataEntry> .

如果您不确定使用的是什么类型,请改用“对象”,然后使用 Debug.Print(obj.GetType());

一旦您拥有对象(在您的情况下可能是 DataRow),您就可以相应地使用该对象。

private void gridViewData_RowClick(object sender, DevExpress.XtraGrid.Views.Grid.RowClickEventArgs e)
{
if (e.Clicks == 2)
{
DataEntry entry = gridViewData.GetRow(e.RowHandle) as DataEntry;

if (entry != null)
{

Debug.Print(entry.Number);
}
}
}

补充说明:标题(列的名称)由 DevExpress 自动更改,因此例如字段名称为“Number_Children”的列可能会自动显示为“Number Children”。

关于c# - 无法从 xtragridview 获取点击行的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25550953/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com