Gridview:从ID=rowEditIndex的数据库数据表的单元格中获取值,方法

本文关键字:单元格 获取 方法 数据表 数据库 ID rowEditIndex Gridview | 更新日期: 2023-09-27 18:29:05

在GridView1 RowDataBound上,我如何获得这样的东西:

SELECT * FROM tableName WHERE Column AND DataTableID=RowEditIndex.

我正在尝试从当前编辑行的dataTable中获取单元格的值。因此他需要从gridview当前编辑行的datTable的某个单元格中获取值。

我需要正确的sql语句,我需要它在rowDataBound网格视图中,因为我还有另一个代码。

感谢

Gridview:从ID=rowEditIndex的数据库数据表的单元格中获取值,方法

您可以使用GridView上的数据键来实现这一点,如下所示:

<asp:GridView ID="GridView1" runat="server" DataKeyNames="SomeID, SomeOtherColumn" OnRowDataBound="GridView1_RowDataBound" ...>

在后面的代码中:

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    int someID = (int)GridView1.DataKeys[e.Row.RowIndex]["SomeOtherColumn"];
    //do whatever you need to do with the value
}

EDIT:以下是如何在RowUpdating事件中访问数据密钥的示例:

protected void TaskGridView_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
    var someValue = GridView1.DataKeys[e.RowIndex]["SomeOtherColumn"].ToString();
}

您也可以通过RowDataBound事件中的DataItem属性访问该值:

int someID = (int)DataBinder.Eval(e.Row.DataItem, "SomeID");
using System.Linq;
...
...

var myValue = myDataTable.AsEnumerable().where (r=>r["MYColumn"].ToString()==RowEditIndex.ToString()).select(a=>a["MYColumn"].ToString())