更新命令在GridView中不起作用 [英] update command not working in gridview

查看:86
本文介绍了更新命令在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆