求助!!DataGrid的模板列更新值带不过来???
eyis 2005-06-01 11:53:18 Person_ShowTF要获得的模板列id为showTF的DropDownList的选定值,可现在Person_ShowTF获得的是一直是初始值,更新过的SelectedValue带不过来。
[最后要实现这样的效果(state列)http://61.180.163.222/quickstart/aspplus/samples/webforms/data/CS/datagrid9.aspx]
cs文件:
private void mydg_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
string Person_ShowTF = ((DropDownList)e.Item.FindControl("showTF")).SelectedValue;//(就是这里!!!)
string Id=((Label)e.Item.FindControl("idlist")).Text;
string updateCmd = "UPDATE Tjjob_Person SET Person_ShowTF = '"+Person_ShowTF+"' where Id = "+Id;
Response.Write(updateCmd);
//myData.Update(updateCmd);
this.mydg.EditItemIndex=-1;
Bind();
}
页面的模板列:
<asp:TemplateColumn HeaderText="是否显示">
<ItemTemplate>
<asp:Label runat="server" Text='<%# base.GetShowTF(DataBinder.Eval(Container, "DataItem.id").ToString()) %>' ID="Label1">
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList runat="server" SelectedIndex='<%# Convert.ToInt16(DataBinder.Eval(Container, "DataItem.Person_ShowTF")) %>' id="showTF">
<asp:ListItem Value="000">隐藏</asp:ListItem>
<asp:ListItem Value="111">显示</asp:ListItem>
</asp:DropDownList>
</EditItemTemplate>
</asp:TemplateColumn>