先把dropdownlist绑定数据。
然后private void Grid_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
if(e.Item.ItemType != ListItemType.EditItem)
_ProductCode = ((Label)e.Item.Cells[6].Controls[1]).Text; }
其中_ProductCode 为全局变量。
接下来:
private void Grid_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.ItemType == ListItemType.EditItem)
{
DropDownList drop = (DropDownList)e.Item.Cells[6].Controls[1];
for(int i=0; i<drop.Items.Count; i++)
{
if(drop.Items[i].Text.Equals(_ProductCode))
{
drop.Items[i].Selected = true;
return;
}
}
} }
然后private void Grid_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
if(e.Item.ItemType != ListItemType.EditItem)
_ProductCode = ((Label)e.Item.Cells[6].Controls[1]).Text; }
其中_ProductCode 为全局变量。
接下来:
private void Grid_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.ItemType == ListItemType.EditItem)
{
DropDownList drop = (DropDownList)e.Item.Cells[6].Controls[1];
for(int i=0; i<drop.Items.Count; i++)
{
if(drop.Items[i].Text.Equals(_ProductCode))
{
drop.Items[i].Selected = true;
return;
}
}
} }
<asp:TemplateColumn HeaderText="父类别">
<ItemTemplate>
<asp:Label runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.父类别") %>' ID="Label6">
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList id="ddlParent" runat="server" Width="80"></asp:DropDownList>
</EditItemTemplate>
</asp:TemplateColumn>
在后台代码里面的DataGrid的ItemDataBound事件里:
if (e.Item.ItemType == ListItemType.EditItem )
{
string sParentType=(string)DataBinder.Eval(e.Item.DataItem, "父类别");
DropDownList ddlParentType=(DropDownList)e.Item.FindControl("ddlParent"); ddlParentType.DataTextField="sTypeName";
ddlParentType.DataValueField="nTypeID";
ddlParentType.DataSource=stockinfo.getParentType();
ddlParentType.DataBind(); ddlParentType.Items.FindByText(sParentType).Selected=true;
}