detailsview中控件和数据源的问题
我用DetailsView显示医院的详细信息
医院表的字段:Hos_ID(医院编号),Hos_Type(医院类型),Hos_State(医院状态),Hos_Present(医院简介)
前两个字段用BoundField;
后两个字段用TemplateField;
医院状态字段:
医院简介字段:
绑定的数据源:
问题:
1.我如何写SqlDataSource2中的UpdateCommand/InsertCommand,应该设置哪些参数,怎么设置?
2.显示医院状态的两个DropDownList我在PreRender事件中绑定数据,但我进入编辑状态后,老是显示第一个索引,怎么选择都选不到别的索引,怎么回事?
医院表的字段:Hos_ID(医院编号),Hos_Type(医院类型),Hos_State(医院状态),Hos_Present(医院简介)
前两个字段用BoundField;
后两个字段用TemplateField;
医院状态字段:
<asp:TemplateField HeaderText="医院状态" SortExpression="Hos_State">
<EditItemTemplate>
<asp:DropDownList ID="ddlstate1" runat="server" AutoPostBack="true"></asp:DropDownList>
<asp:HiddenField ID="fhstate1" runat="server" Value='<%# Eval("Hos_State")%>' />
</EditItemTemplate>
<InsertItemTemplate>
<asp:DropDownList ID="ddlstate2" runat="server" AutoPostBack="true"></asp:DropDownList>
</InsertItemTemplate>
<ItemTemplate>
<asp:Label ID="lblstate" runat="server" Text='<%# Bind("Hos_State") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
医院简介字段:
<asp:TemplateField HeaderText="医院简介" SortExpression="Hos_Present">
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Hos_Present") %>' TextMode="MultiLine"></asp:TextBox>
</EditItemTemplate>
<InsertItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Hos_Present") %>' TextMode="MultiLine"></asp:TextBox>
</InsertItemTemplate>
<ItemTemplate>
<asp:Label ID="lblpre" runat="server" Text='<%# Bind("Hos_Present") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
绑定的数据源:
<asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:reserveConnectionString %>"
SelectCommand="SELECT * FROM T_GH_Hospital WHERE Hos_ID=@Hos_ID "
>
<SelectParameters>
<asp:ControlParameter Name="Hos_ID" ControlID="GridView1" />
</SelectParameters>
</asp:SqlDataSource>
问题:
1.我如何写SqlDataSource2中的UpdateCommand/InsertCommand,应该设置哪些参数,怎么设置?
2.显示医院状态的两个DropDownList我在PreRender事件中绑定数据,但我进入编辑状态后,老是显示第一个索引,怎么选择都选不到别的索引,怎么回事?
protected void DetailsView1_PreRender(object sender, EventArgs e)
{
if (IsPostBack)
{
DetailsView detailsView = (DetailsView)sender;
if (detailsView.CurrentMode == DetailsViewMode.Edit)
{
DropDownList dropDownList = (DropDownList)detailsView.FindControl("ddlstate1");
dropDownList.Items.Clear();
dropDownList.Items.Add(new ListItem("正常", "0"));
dropDownList.Items.Add(new ListItem("暂停", "1"));
dropDownList.Items.Add(new ListItem("冻结", "2"));
switch (((HiddenField)detailsView.FindControl("fhstate1")).Value.ToString())
{
case "正常":
dropDownList.SelectedIndex = 0;
break;
case "暂停":
dropDownList.SelectedIndex = 1;
break;
case "冻结":
dropDownList.SelectedIndex = 2;
break;
default:
break;
}
}
}
}
...全文
相关推荐
GridView + DetailsView 的应用小例
GridView + DetailsView 的联合应用,另附有数据库
Detailsview中对Dropdownlist值进行编辑后保存出现错误
Detailsview中对Dropdownlist值进行编辑后保存出现错误
DetailsView控件里的Dropdownlist控件添加点击事件
DetailsView控件里的Dropdownlist控件添加点击事件代码与分析
使用数据控件操作数据库3.doc
ASP。net+sql使用笔记,带图片,直接入门使用做网页
分析ASP.NET2.0中Grid View的数据处理机制.pdf
#资源达人分享计划#



