更新命令在GridView中不起作用 [英] update command not working in gridview
本文介绍了更新命令在GridView中不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的更新命令不起作用.我有3个参数. 2个参数是dropdownvalue,一个是绑定字段.如何在更新参数中传递下拉值?
我的代码在下面
<asp:GridView ID="grdDeptEmp" runat="server" AutoGenerateColumns="False" DataKeyNames="emp_number" Cssclass="tabulardata" DataSourceID="dsOtherDept1" class="tabulardata" width="100%" HorizontalAlign="Center" OnRowCancelingEdit="grdDeptEmp_RowCancelingEdit" OnRowDataBound="grdDeptEmp_RowDataBound" OnRowEditing="grdDeptEmp_RowEditing" OnRowUpdating="grdDeptEmp_RowUpdating" OnRowCommand="grdDeptEmp_RowCommand" ShowFooter="True" OnRowDeleting="grdDeptEmp_RowDeleting" AllowPaging="True"> <columns> <asp:TemplateField HeaderText="Sl.No" ItemStyle-HorizontalAlign="Center" ItemStyle-Width="2%"> <itemtemplate> <asp:Label ID="Sno" runat="server"> </itemtemplate> <itemstyle horizontalalign="Center" /> <asp:TemplateField HeaderText="EmpNumber" HeaderStyle-HorizontalAlign="Left"> <edititemtemplate> <asp:Label ID="lblEmpNo" runat="server" Text=''<%# Bind("emp_number") %>''> </edititemtemplate> <itemtemplate> <asp:Label ID="lblEmpNo" runat="server" Text=''<%# Bind("emp_number") %>''> </itemtemplate> <HeaderStyle HorizontalAlign="Left" /> <%-- <asp:BoundField HeaderText="Emp_Number" Visible="true" DataField="emp_number" ItemStyle-HorizontalAlign="center" ReadOnly="true" SortExpression="emp_number"> <itemstyle horizontalalign="Center" width="5%" /> --%> <asp:BoundField HeaderText="Name" DataField="name" ItemStyle-HorizontalAlign="center" ReadOnly="true" SortExpression="name"> <itemstyle horizontalalign="Center" width="17%" /> <asp:BoundField HeaderText="Designation" DataField="emp_designation" ItemStyle-HorizontalAlign="center" ReadOnly="true" SortExpression="emp_designation"> <itemstyle horizontalalign="Center" width="17%" /> <asp:TemplateField HeaderText="From Period" HeaderStyle-HorizontalAlign="Left"> <edititemtemplate> <asp:DropDownList ID="cmbFrm" runat="server" Style="width: 150px;" DataSourceID="dsOtherDept1" DataTextField="FromPeriod" DataValueField="FromPeriod" AppendDataBoundItems="true"> <asp:ListItem Text="Please Select" Value=""> </edititemtemplate> <itemtemplate> <asp:Label ID="lblFrm" runat="server" Text=''<%# Eval("FromPeriod") %>''> </itemtemplate> <HeaderStyle HorizontalAlign="Left" /> <asp:TemplateField HeaderText="To Period" HeaderStyle-HorizontalAlign="Left"> <edititemtemplate> <asp:DropDownList ID="cmbTo" runat="server" Style="width: 150px;" DataSourceID="dsOtherDept1" DataTextField="ToPeriod" DataValueField="ToPeriod" AppendDataBoundItems="true"> <asp:ListItem Text="Please Select" Value=""> </edititemtemplate> <itemtemplate> <asp:Label ID="lblTo" runat="server" Text=''<%# Eval("ToPeriod") %>''> </itemtemplate> <HeaderStyle HorizontalAlign="Left" /> <asp:TemplateField HeaderText="Edit" ShowHeader="False" HeaderStyle-HorizontalAlign="Left"> <edititemtemplate> <asp:LinkButton ID="lbkUpdate" runat="server" CausesValidation="True" CommandName="Update" Text="Update"> <asp:LinkButton ID="lnkCancel" runat="server" CausesValidation="False" CommandName="Cancel" Text="Cancel"> </edititemtemplate> <itemtemplate> <asp:LinkButton ID="lnkEdit" runat="server" CausesValidation="False" CommandName="Edit" Text="Edit"> </itemtemplate> <HeaderStyle HorizontalAlign="Left" /> <asp:CommandField HeaderText="Delete" ShowDeleteButton="True" ShowHeader="True" /> </columns> <asp:SqlDataSource ID="dsOtherDept1" runat="server" ConnectionString="<%$ConnectionStrings:MPP%>" SelectCommand="Select distinct V.emp_number as emp_number,emp_name+'' ''+emp_initial as name,emp_designation,Manpower_Division_ID,FromPeriod, ToPeriod from idpeapp.dbo.view_employee V inner join OtherDeptEmp O on V.emp_number = O.emp_number order by name" UpdateCommand="update OtherDeptEmp set FromPeriod=@FromPeriod,ToPeriod=@ToPeriod where emp_number=@emp_number"> <updateparameters> <asp:Parameter Name="FromPeriod" Size="20" Type="String" /> <asp:Parameter Name="ToPeriod" Size="20" Type="String" /> <asp:Parameter Name="emp_number" Type="Int32" /> </updateparameters>
解决方案
ConnectionStrings:MPP%> SelectCommand =选择不同的V.emp_number作为emp_number,emp_name +''''+ emp_initial作为名称,emp_designation,Manpower_Division_ID,FromPeriod,从idpeapp.dbo.view_employee到ToPeriod " UpdateCommand ="update OtherDeptEmp set FromPeriod = @ FromPeriod,ToPeriod = @ ToPeriod其中emp_number = @ emp_number"> < updateparameters> < asp:参数名称="FromPeriod" Size ="20" Type ="String"/> < asp:参数名称="ToPeriod" Size ="20" Type ="String"/> < asp:参数名称="emp_number"类型="Int32"/> </updateparameters>
尝试一下可以解决OP问题的方法
将参数动态分配给SqlDataSource参数集合 [ ^ ]
Hi,
My update command is not working. I have pass 3 parameters. 2 parameter is dropdownvalue and one is bound fields. How to pass dropdown values in update parameter?
My code is below
<asp:GridView ID="grdDeptEmp" runat="server" AutoGenerateColumns="False" DataKeyNames="emp_number" Cssclass="tabulardata" DataSourceID="dsOtherDept1" class="tabulardata" width="100%" HorizontalAlign="Center" OnRowCancelingEdit="grdDeptEmp_RowCancelingEdit" OnRowDataBound="grdDeptEmp_RowDataBound" OnRowEditing="grdDeptEmp_RowEditing" OnRowUpdating="grdDeptEmp_RowUpdating" OnRowCommand="grdDeptEmp_RowCommand" ShowFooter="True" OnRowDeleting="grdDeptEmp_RowDeleting" AllowPaging="True"> <columns> <asp:TemplateField HeaderText="Sl.No" ItemStyle-HorizontalAlign="Center" ItemStyle-Width="2%"> <itemtemplate> <asp:Label ID="Sno" runat="server"> </itemtemplate> <itemstyle horizontalalign="Center" /> <asp:TemplateField HeaderText="EmpNumber" HeaderStyle-HorizontalAlign="Left"> <edititemtemplate> <asp:Label ID="lblEmpNo" runat="server" Text=''<%# Bind("emp_number") %>''> </edititemtemplate> <itemtemplate> <asp:Label ID="lblEmpNo" runat="server" Text=''<%# Bind("emp_number") %>''> </itemtemplate> <HeaderStyle HorizontalAlign="Left" /> <%-- <asp:BoundField HeaderText="Emp_Number" Visible="true" DataField="emp_number" ItemStyle-HorizontalAlign="center" ReadOnly="true" SortExpression="emp_number"> <itemstyle horizontalalign="Center" width="5%" /> --%> <asp:BoundField HeaderText="Name" DataField="name" ItemStyle-HorizontalAlign="center" ReadOnly="true" SortExpression="name"> <itemstyle horizontalalign="Center" width="17%" /> <asp:BoundField HeaderText="Designation" DataField="emp_designation" ItemStyle-HorizontalAlign="center" ReadOnly="true" SortExpression="emp_designation"> <itemstyle horizontalalign="Center" width="17%" /> <asp:TemplateField HeaderText="From Period" HeaderStyle-HorizontalAlign="Left"> <edititemtemplate> <asp:DropDownList ID="cmbFrm" runat="server" Style="width: 150px;" DataSourceID="dsOtherDept1" DataTextField="FromPeriod" DataValueField="FromPeriod" AppendDataBoundItems="true"> <asp:ListItem Text="Please Select" Value=""> </edititemtemplate> <itemtemplate> <asp:Label ID="lblFrm" runat="server" Text=''<%# Eval("FromPeriod") %>''> </itemtemplate> <HeaderStyle HorizontalAlign="Left" /> <asp:TemplateField HeaderText="To Period" HeaderStyle-HorizontalAlign="Left"> <edititemtemplate> <asp:DropDownList ID="cmbTo" runat="server" Style="width: 150px;" DataSourceID="dsOtherDept1" DataTextField="ToPeriod" DataValueField="ToPeriod" AppendDataBoundItems="true"> <asp:ListItem Text="Please Select" Value=""> </edititemtemplate> <itemtemplate> <asp:Label ID="lblTo" runat="server" Text=''<%# Eval("ToPeriod") %>''> </itemtemplate> <HeaderStyle HorizontalAlign="Left" /> <asp:TemplateField HeaderText="Edit" ShowHeader="False" HeaderStyle-HorizontalAlign="Left"> <edititemtemplate> <asp:LinkButton ID="lbkUpdate" runat="server" CausesValidation="True" CommandName="Update" Text="Update"> <asp:LinkButton ID="lnkCancel" runat="server" CausesValidation="False" CommandName="Cancel" Text="Cancel"> </edititemtemplate> <itemtemplate> <asp:LinkButton ID="lnkEdit" runat="server" CausesValidation="False" CommandName="Edit" Text="Edit"> </itemtemplate> <HeaderStyle HorizontalAlign="Left" /> <asp:CommandField HeaderText="Delete" ShowDeleteButton="True" ShowHeader="True" /> </columns> <asp:SqlDataSource ID="dsOtherDept1" runat="server" ConnectionString="<%$ConnectionStrings:MPP%>" SelectCommand="Select distinct V.emp_number as emp_number,emp_name+'' ''+emp_initial as name,emp_designation,Manpower_Division_ID,FromPeriod, ToPeriod from idpeapp.dbo.view_employee V inner join OtherDeptEmp O on V.emp_number = O.emp_number order by name" UpdateCommand="update OtherDeptEmp set FromPeriod=@FromPeriod,ToPeriod=@ToPeriod where emp_number=@emp_number"> <updateparameters> <asp:Parameter Name="FromPeriod" Size="20" Type="String" /> <asp:Parameter Name="ToPeriod" Size="20" Type="String" /> <asp:Parameter Name="emp_number" Type="Int32" /> </updateparameters>
解决方案
ConnectionStrings:MPP%>" SelectCommand="Select distinct V.emp_number as emp_number,emp_name+'' ''+emp_initial as name,emp_designation,Manpower_Division_ID,FromPeriod, ToPeriod from idpeapp.dbo.view_employee V inner join OtherDeptEmp O on V.emp_number = O.emp_number order by name" UpdateCommand="update OtherDeptEmp set FromPeriod=@FromPeriod,ToPeriod=@ToPeriod where emp_number=@emp_number"> <updateparameters> <asp:Parameter Name="FromPeriod" Size="20" Type="String" /> <asp:Parameter Name="ToPeriod" Size="20" Type="String" /> <asp:Parameter Name="emp_number" Type="Int32" /> </updateparameters>
Try this which solved the OP''s question
Dynamically Assign Parameter to SqlDataSource Parameter Collection[^]
这篇关于更新命令在GridView中不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文