1. 右击“GridView”控件,然后选择“显示智能标记”。在“GridView 任务”菜单中选择“编辑模板”。在“显示”下拉列表中选择“EditItemTemplate”。
2. 在模板中右击默认 TextBox 控件,然后选择“删除”将其移除。 从“工具箱”的“标准”选项卡中,将一个“DropDownList”控件拖到该模板上。
3. 右击“DropDownList”控件,然后选择“显示智能标记”。在“DropDownList 任务”菜单中选择“选择数据源”。 选择“SqlDataSource2”。 单击“确定”。
4. 在“DropDownList 任务”菜单中选择“编辑 DataBindings”。DropDownList 控件的 SelectedValue 属性在“DataBindings”对话框中选定。 单击“字段绑定”单选按钮,并为“绑定到”选择“City”。 选择“双向数据绑定”复选框。 单击“确定”。
5. 右击“GridView”控件,然后选择“显示智能标记”。在“GridView 任务”菜单中单击“结束模板编辑”。
绑定数据源用代码怎么实现的
@夏日星:
<asp:TemplateField HeaderText="地点"> <ItemTemplate> <asp:Label ID="Label2" runat="server" Text='<%# Bind("LOCATION") %>'></asp:Label> </ItemTemplate> <EditItemTemplate> <asp:DropDownList ID="drop_Location" runat="server" Width="98px" OnSelectedIndexChanged="drop_Location_SelectedIndexChanged"></asp:DropDownList> </EditItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="名称"> <ItemTemplate> <asp:Label ID="Label13" runat="server" Text='<%# Bind("ELEC_NAME") %>'></asp:Label> </ItemTemplate> <EditItemTemplate> <asp:DropDownList ID="drop_name" runat="server"></asp:DropDownList> </EditItemTemplate> </asp:TemplateField> protected void gdv_Elec_RowDataBound(object sender, GridViewRowEventArgs e) { if (((DropDownList)e.Row.FindControl("drop_Location")) != null) { DropDownList drop_Location = (DropDownList)e.Row.FindControl("drop_Location"); drop_Location.Items.Clear(); DataTable dt = ef.GetLocation(); drop_Location.DataSource = dt; drop_Location.DataTextField = dt.Columns["LOCATION"].ToString(); drop_Location.DataValueField = dt.Columns["LOCATION"].ToString(); drop_Location.DataBind(); } } protected void drop_Location_SelectedIndexChanged(object sender, EventArgs e) { DropDownList drop_Location = (DropDownList)sender; System.Web.UI.WebControls.GridViewRow dvr = (System.Web.UI.WebControls.GridViewRow)drop_Location.NamingContainer; DropDownList drop_name = (DropDownList)dvr.FindControl("drop_name"); //drop_name.Items.Clear(); DataTable dt = ef.GetNameBYLocation(drop_Location.SelectedItem.Text); drop_name.DataSource = dt; drop_name.DataTextField = dt.Columns["ECLE_NAME"].ToString(); drop_name.DataValueField = dt.Columns["ECLE_NAME"].ToString(); drop_name.DataBind(); }