在GridView1 RowDataBound上,我怎么能得到这样的东西:
SELECT * FROM tableName WHERE Column AND DataTableID=RowEditIndex.
我正在尝试从当前编辑行的dataTable获取单元格的值。所以他需要从gridview的当前编辑行的datTable的某个单元格中获取值。
我需要正确的sql语句,我需要它在rowDataBound gridview cuz我还有另一个代码。
感谢
答案 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())