Gridview:从ID = rowEditIndex的数据库数据表的单元格中获取值,如何?

时间:2012-03-27 15:47:02

标签: c# asp.net sql

在GridView1 RowDataBound上,我怎么能得到这样的东西:

SELECT * FROM tableName WHERE Column AND DataTableID=RowEditIndex.

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

我需要正确的sql语句,我需要它在rowDataBound gridview cuz我还有另一个代码。

感谢

2 个答案:

答案 0 :(得分:3)

您可以使用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
}

编辑:以下是您可以在RowUpdating事件中访问数据密钥的示例:

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

您还可以通过DataItem活动中的RowDataBound媒体资源来访问该值:

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

答案 1 :(得分:0)

using System.Linq;

...
...


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