我正在使用GV(我正在通过代码填充),其中我想要更新我选择的行中的项目。
以下是我在GView中填充的内容:
var td = from s in GetEntity()
join r in GetPlanName() on s.Product_ID equals r.Product_ID
where s.Entity_ID == getEntity
select new
{
s.Product_ID,
r.PlanName,
s.HiCommissionOld,
s.LowCommissionOld
};
gvShowComm.DataSource = td;
gvShowComm.DataBind();
以下是我的GV的标记:
<asp:GridView runat="server" Height="233px" Width="602px" ID ="gvShowComm"
CellPadding="4" ForeColor="#333333" GridLines="None"
EnableViewState="False" OnRowEditing = "gvShowComm_RowEditing"
OnRowUpdating = "gvShowComm_RowUpdating"
OnRowCancelingEdit = "gvShowComm_RowCancelingEdit"
DataKeyNames = "Product_ID" >
<Columns>
<asp:CommandField ShowCancelButton="True" ShowEditButton="True" />
</Columns>
</asp:GridView>
这是我的代码背后:
protected void gvShowComm_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
int index = gvShowComm.EditIndex;
GridViewRow row = gvShowComm.Rows[index];
string name = row.Cells[2].Text; //name is empty!
}
所以这是我的问题:我可以通过我的GView标签中的DataKeyNames属性访问一列,但我必须访问其他元素才能通过后面的代码中的LINQ更新我的网格视图。我之所以不使用LDS,是因为我正在更新来自2个不同数据库的表。
谢谢!
答案 0 :(得分:0)
您可以像这样访问行中的其他单元格。获取look at this link了解更多详情。
gvShowComm.Rows[e.RowIndex].Cells[index]