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上的数据键来实现这一点,如下所示:
<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())