与更新gridview列有关的错误 [英] error related to updating a column of gridview

查看:62
本文介绍了与更新gridview列有关的错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在网页上实现一个gridview.这是它的代码

I m implementing a gridview on a web page.here is its code

<asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="false"

           AllowPaging="True" Height="568px" PageSize="25"

           onrowupdating="GridView2_RowUpdating" AutoGenerateEditButton="True"

           onrowediting="GridView2_RowEditing">
       <Columns>
       <asp:TemplateField HeaderText="Name">
       <ItemTemplate>
           <asp:TextBox ID="TextBox2" runat="server" Text='<%#Eval("cstnam") %>' ReadOnly="true"></asp:TextBox>
       </ItemTemplate>
       </asp:TemplateField>

        <asp:TemplateField HeaderText="Date">
            <ItemTemplate >
                <asp:TextBox ID="TextBox13" runat="server" Text='<%#Eval("compdat") %>' ReadOnly="true"></asp:TextBox>
            </ItemTemplate>
            <ItemStyle Width="40px" Font-Bold="true" />
         </asp:TemplateField>

          <asp:TemplateField HeaderText="LogBy">
            <ItemTemplate>
                <asp:TextBox ID="TextBox14" runat="server" Text='<%#Eval("complogby") %>' ReadOnly="true"></asp:TextBox>
            </ItemTemplate>
            <ItemStyle Width="40px" Font-Bold="true" />
         </asp:TemplateField>

          <asp:TemplateField HeaderText="AttendBy">
            <ItemTemplate>
                <asp:TextBox ID="TextBox15" runat="server" Text='<%#Eval("compatdby") %>' ReadOnly="true"></asp:TextBox>
            </ItemTemplate>
            <ItemStyle Width="40px" Font-Bold="true" />
         </asp:TemplateField>

          <asp:TemplateField HeaderText="Status">
            <ItemTemplate>
                <asp:TextBox ID="TextBox16" runat="server" Text='<%#Eval("compsts") %>' ReadOnly="true"></asp:TextBox>
            </ItemTemplate>
            <ItemStyle Width="40px" Font-Bold="true" />
         </asp:TemplateField>

         <asp:TemplateField HeaderText="AttendDate">
            <ItemTemplate>
                <asp:TextBox ID="TextBox17" runat="server" Text='<%#Eval("compatddat") %>' ReadOnly="true"></asp:TextBox>
            </ItemTemplate>
            <ItemStyle Width="40px" Font-Bold="true" />
         </asp:TemplateField>


         <asp:TemplateField HeaderText="Ticket">
            <ItemTemplate>
                <asp:TextBox ID="TextBox18" runat="server" Text='<%#Eval("ticket") %>' ReadOnly="true"></asp:TextBox>
            </ItemTemplate>
            <ItemStyle Width="40px" Font-Bold="true" />
         </asp:TemplateField>


         <asp:TemplateField HeaderText="RepReceived">
            <ItemTemplate>
                <asp:TextBox ID="TextBox19" runat="server" Text='<%#Eval("rptRecieved") %>'></asp:TextBox>
            </ItemTemplate>

            <ItemStyle Width="40px" Font-Bold="true" />
         </asp:TemplateField>


         <asp:TemplateField HeaderText="ReceivedBy">
            <ItemTemplate>
                <asp:TextBox ID="TextBox20" runat="server" Text='<%#Eval("rptRecievedBy") %>' ReadOnly="true" ></asp:TextBox>
            </ItemTemplate>
            <ItemStyle Width="40px" Font-Bold="true" />
         </asp:TemplateField>


         <asp:TemplateField HeaderText="Recieveddate">
            <ItemTemplate>
                <asp:TextBox ID="TextBox10" runat="server" Text='<%#Eval("rptRecievedDate") %>' ReadOnly="true"></asp:TextBox>
            </ItemTemplate>
            <ItemStyle Width="40px" Font-Bold="true" />
         </asp:TemplateField>

         <%--<asp:TemplateField HeaderText="">
            <EditItemTemplate>
               &nbsp;&nbsp;
               <asp:TextBox ID="txtrptreciev" runat="server" Text='<%#Eval("rptRecieved") %>'></asp:TextBox>
                               &nbsp;
                <asp:LinkButton ID="lnkupdt" runat="server" CommandName="Update" Visible="true"

                   Text='<%#Eval("rptRecieved") %>'>LinkButton</asp:LinkButton>
               &nbsp;
           </EditItemTemplate>
         </asp:TemplateField>--%>
         <asp:TemplateField HeaderText="">
         <EditItemTemplate>
             <asp:TextBox ID="txtrptRecieved" Text="" runat="server"></asp:TextBox>
         </EditItemTemplate>
         </asp:TemplateField>
         <asp:CommandField  HeaderText="Update" ShowEditButton="true"/>
       </Columns>
       </asp:GridView>




现在,我想更新此gridview中的单列,其代码如下




Now i want to update a single column in this gridview whose code is as follow

protected void GridView2_RowUpdating(object sender, GridViewUpdateEventArgs e)
   {

       GridViewRow myRow = GridView2.Rows[e.RowIndex];

       TextBox rptRecieved = (TextBox)myRow.FindControl("txtrptreciev");

       TextBox cstnam = (TextBox)myRow.FindControl("cstnam");

       SqlDataAdapter adp = new SqlDataAdapter("update tbcomp set rptRecieved=" + rptRecieved + " where cstnam=" + cstnam + "", con);

       DataSet ds = new DataSet();

       adp.Fill(ds);

       GridView2.EditIndex = -1;
   }

   protected void GridView2_RowEditing(object sender, GridViewEditEventArgs e)
   {
       GridView2.EditIndex = e.NewEditIndex;
   }


但是它nt正在更新专栏.请告诉我该怎么做

在此先感谢


but its nt updating the column.Please tell me what to do

thanks in advance

推荐答案

SqlDataAdapter adp = new SqlDataAdapter("update tbcomp set rptRecieved=" + rptRecieved + " where cstnam=" + cstnam + "", con);



可能您应该在SQL查询中用'符号包装字符串值.因此您的查询应如下所示,以使其正常工作.



Probably you should wrap the string value in SQL query by '' sign. so your query should be as below to have it properly working.

SqlDataAdapter adp = new SqlDataAdapter("update tbcomp set rptRecieved=''" + rptRecieved + "'' where cstnam=''" + cstnam + "''", con);



谢谢,
聘请



Thanks,
Hiren




在哪里重新绑定GRID ... ???

收到更新命令时,将触发Row_Updating事件中的ins,但它不会自行更新.您必须再次绑定网格.

只需更新网格使用的数据源,或者从数据库中获取新的数据源并再次绑定即可.

祝您编码愉快.
Hi,

Where you are re-binding the GRID...???

in Row_Updating event will fire when an Update Command is received, but it will not update by itself. you must bind the grid again.

Just update the datasource used of the grid, or Get the new datasource from database and bind again.

Happy Coding.


这篇关于与更新gridview列有关的错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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