我有一个名为BindItems()的方法,并且此方法将值传递给DataTable,然后绑定GridView。选择项目模板中的选定值
然后我在该gridview中包含一个下拉菜单,这个下拉菜单从代码背后的GridView_RowDataBound中填充1到14,现在我需要设计一个方法来获取DataTable上的Quantity值其他函数“BindItems()”,并在gridview中的每一行,所以一个SelectedValue = datatable [“数量”]什么的..我该怎么做?
protected void BinItems(int myId)
{
//this data table contains a value "Quantity"
DataTable dt = MyClass.getItems(myId);
uxGrid.DataSource = dt;
uxGrid.DataBind();
}
protected void Gridview1_RowDataBound(Object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType.Equals(DataControlRowType.DataRow))
{
DropDownList Myddl = e.Row.FindControl("MyQuantity") as DropDownList;
if (Myddl != null)
{
for (int i = 1; i < 15; i++)
{
Myddl.Items.Add(i.ToString());
}
}
}
//Some how i need to do a SelectedValue = datatable where field = Quantity for each row
}
我不记得确切,但你不能让你被绑定到EventArgs的项目吗?你可以将它转换成DataRow?或者甚至可能被存储为键/值字典?我只是不记得确切。 –
@KyleRogers我会刷新你的记忆:)你需要访问'e.Row.DataItem',看到我的回答如下 –
@Adrian谢谢。我试图尽可能远离webforms。 –