GridView RowUpdating-UpdateParameters
|
我在设置所有更新参数时遇到问题。 GridView中的大多数字段都是DataBound,但其中两个是下拉列表,一个具有指定的列表项,另一个是从另一个数据源提取的。我想将它们的值设置为UpdateParameters,以在用户单击GridView上的\“ Update \”时发送到我的存储过程。尽管我不确定该怎么做。
这是我正在使用的代码,两个下拉列表是\“ ddlTransferLocation \”和\“ ddlReconcileStatus \”:
数据源
<asp:SqlDataSource ID=\"reconcileDataSource\" runat=\"server\"
ConnectionString=\"<%$ ConnectionStrings:ConnectionString %>\"
SelectCommand=\"GetReconcileItems\" SelectCommandType=\"StoredProcedure\"
UpdateCommand=\"UpdateReconcileItems\" UpdateCommandType=\"StoredProcedure\">
<UpdateParameters>
<asp:Parameter Name=\"ItemID\" />
<asp:Parameter Name=\"TransType\" Type=\"String\" />
<asp:Parameter Name=\"LocationID\" Type=\"String\" />
<asp:Parameter Name=\"Description\" Type=\"String\" />
<asp:Parameter Name=\"Stat\" Type=\"String\" />
<asp:Parameter Name=\"TransferLocation\" Type=\"String\" />
</UpdateParameters>
</asp:SqlDataSource>
C#行更新
protected void reconcileGrid_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
DropDownList ddlReconcileStatus = (DropDownList)reconcileGrid.Rows[e.RowIndex].Cells[0].FindControl(\"ddlReconcileStatus\");
reconcileDataSource.UpdateParameters[\"Stat\"].DefaultValue = ddlReconcileStatus.SelectedValue.ToString();
}
ASP.NET GRIDVIEW
<asp:UpdatePanel ID=\"reconcileUpdatePanel\" runat=\"server\">
<ContentTemplate>
<asp:GridView ID=\"reconcileGrid\" runat=\"server\" AutoGenerateColumns=\"False\"
DataKeyNames=\"ItemID\" DataSourceID=\"reconcileDataSource\" OnRowUpdating=\"reconcileGrid_RowUpdating\" >
<Columns>
<asp:CommandField ShowEditButton=\"True\" />
<asp:BoundField DataField=\"Name\" HeaderText=\"Name\" SortExpression=\"Name\" ReadOnly=\"true\" />
<asp:BoundField DataField=\"Description\" HeaderText=\"Description\" SortExpression=\"Description\" ReadOnly=\"true\"/>
<asp:BoundField DataField=\"last_known_location\" HeaderText=\"Last Known Location\" SortExpression=\"last_known_location\" ReadOnly=\"true\" />
<asp:TemplateField HeaderText=\"Status\">
<ItemTemplate>
<asp:Label ID=\"lblStatus\" runat=\"server\" Text=\'<%# evalStatus(Eval(\"Stat\")) %>\'></asp:Label></ItemTemplate><EditItemTemplate>
<asp:DropDownList ID=\"ddlReconcileStatus\" runat=\"server\" OnSelectedIndexChanged=\"ddlReconcileStatus_SelectedIndexChanged\" AutoPostBack=\"true\" >
<asp:ListItem Value=\"3\" Text=\"Allocated\"></asp:ListItem><asp:ListItem Value=\"4\" Text=\"Transferred\"></asp:ListItem></asp:DropDownList></EditItemTemplate></asp:TemplateField><asp:TemplateField HeaderText=\"Transfer Location\" Visible=\"false\" >
<EditItemTemplate>
<asp:DropDownList ID=\"ddlTransferLocation\" runat=\"server\"
DataSourceID=\"ddlTransferLocationDataSource\" DataTextField=\"Name\"
DataValueField=\"ID\" Enabled=\"true\" ></asp:DropDownList>
<asp:SqlDataSource
ID=\"ddlTransferLocationDataSource\" runat=\"server\"
ConnectionString=\"<%$ ConnectionStrings:ConnectionString %>\"
SelectCommand=\"SELECT [ID], [Name] FROM [TransferLocation]\">
</asp:SqlDataSource>
</EditItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField=\"ItemID\" HeaderText=\"ItemID\" ReadOnly=\"true\" />
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
没有找到相关结果
已邀请:
1 个回复
漂截嘘
Event并执行类似的操作