想做一个物料库存输入的模块,预想如下:SQL数据表AAA(物料表)
ID  Nno   Name  SL
1   01    铅笔  100
2   02    橡皮  200
......
ASP.Net程序一个输入框,一个添加按钮一个GridView最后一个保存按钮。当我在输入框 输入 01(对应AAA表Nno)时,如果有该记录,再判断GridView 是否已添加,没则添加。GridView
ID  Nno   Name  SL
1   01    铅笔  100(可编辑)输完后,点保存就将GridView的记录更新到AAA表对应的记录。初学 ASP.NET ,请大家赐教!

解决方案 »

  1.   

    补充一下,还有一个删除的按钮,可以删除GridView选定的记录。
      

  2.   

    点击“添加”,判断ID存不存在,如果不存在,写库,然后GridView重新绑定一次,就能实现你所说的更新了。
    同样,做“删除”操作的时候,直接删除库里的记录,或是做个标记,然后重新绑定一次GridView
      

  3.   

    LZ似乎是要在输入之后不通过button直接添加?那需要用ajax
      

  4.   

    对,我不想通过数据库做绑定的方法,有什么好办法呢?就是将一个数据库的记录,动态添加到 GridView 的行里面操作完再保存。
      

  5.   

    这个很简单的呀,首先连接数据库,用sqldatareader判断你输入的数据在数据库是否存在,有提示已经存在,不更新。没有就存入数据库,然后gridview中数据源为AAA(物料表)就可以了呀。
      

  6.   

    通过html 中table 新增行可以实现。innerhtml 来实现,在每行中设置唯一标识,插入时判断是否存在,如果不存在就在row中加入insert操作。存在的话就提示。删除就简单了,直接删除该行就可以了。
      

  7.   


    可以使用datatable
    先添加数据到datatable,用gridview显示,最后统一插入数据库。
    优点是后台编程方便,缺点是页面回发太多 - -
      

  8.   

    谢谢大家,可否添加记录到Gridview时不用数据集呢?
      

  9.   

    你可以在点击“添加”按钮的时候将数据添加到数据库中
    然后再重新绑定一下gridview  gridview 的数据源必须要是数据集
      

  10.   

    楼主可能是想得太远了,绑定非常简单的。dataview1.DataBind()即可
      

  11.   

    不是呀!这是一个更新库存的,AAA表的Nno是唯一的,不会重复的。输入GridView的物料也是一个物料只能输入一次的。
      

  12.   

     判断可使用ajax异步判断实现
    可以,添加数据到dataset绑定到geidview再更新数据库
     protected void btnNew_Click(object sender, EventArgs e)
            {
                DataRow dr=ds.Tables[0].NewRow();
                dr[0]=System.Int32.Parse("0");
        dr[1]="";
        ds.Tables[0].Rows.InsertAt(dr,0);
                gv_Prop.EditIndex =ds.Tables[0].Rows.Count - 1;
                this.gv.DataSource = ds;
                this.gv_PrcsProp.DataBind();
            }
      protected void gv_RowUpdating(object sender, GridViewUpdateEventArgs e)
            {
                gv.EditIndex = e.RowIndex;
                int id = int.Parse(gv.DataKeys[e.RowIndex].Value.ToString());
                 string str = ((TextBox)gv.Rows[e.RowIndex].FindControl("txt_sno")).Text.Trim();
                //添加数据
                gv.EditIndex = -1;
                BindData();
            }
      <asp:gridview id="gv" runat="server" Width="100%" 
        BorderColor="#9DB6DF" BorderWidth="0px" datakeynames="Id"
    AutoGenerateColumns="False" onrowdatabound="gv_RowDataBound" 
    onrowdeleting="gv_RowDeleting" onrowediting="gv_RowEditing"  onrowcancelingedit="gv_RowCancelingEdit" 
     onrowupdating="gv_RowUpdating">
    <Columns>
    <asp:TemplateField HeaderText="名  称">
    <HeaderStyle Width="25%"></HeaderStyle>
    <ItemStyle HorizontalAlign="Center" />
    <ItemTemplate>
    <%# Eval("sno") %>
    </ItemTemplate>
    <EditItemTemplate >
    <asp:TextBox id="txt_sno" CssClass="inputText"  MaxLength="100" runat="server" Text='<%# Eval("sno") %>' Width="86%">
    </asp:TextBox>
    <asp:RequiredFieldValidator ID="rfv" runat="server" ErrorMessage="*" ControlToValidate="txt_sno"></asp:RequiredFieldValidator>
    </EditItemTemplate>
    </asp:TemplateField>

    </asp:TemplateField> 
    <asp:TemplateField HeaderText="操作" ItemStyle-HorizontalAlign="Center" ShowHeader="False">
    <HeaderStyle Width="20%"></HeaderStyle>
     <EditItemTemplate>
                            <asp:LinkButton ID="LinkButton5" runat="server" CausesValidation="True" CommandName="update">保存</asp:LinkButton>
                            <asp:LinkButton ID="LinkButton4" runat="server" CausesValidation="False" CommandName="cancel">取消</asp:LinkButton>
                        </EditItemTemplate>
    <ItemTemplate>
      <asp:LinkButton ID="LinkButton1" runat="server" CommandName="edit" CausesValidation="false"  OnClientClick="return confirm('确认要编辑吗?');">编辑</asp:LinkButton>
                                          <asp:LinkButton ID="LinkButton2" runat="server" CommandName="delete" CausesValidation="False"  OnClientClick="return confirm('确认要删除吗?');">删除</asp:LinkButton>
                                          <asp:LinkButton ID="LinkButton3" runat="server" CommandName="Select" CausesValidation="False" Visible="false" >选取</asp:LinkButton>
    </ItemTemplate>
    </asp:TemplateField>
    </Columns>

    </asp:gridview>
      

  13.   

    可以要是你的要求这么的苛刻的话,那么只有AJAX能帮你解决问题了!