想做一个物料库存输入的模块,预想如下: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 ,请大家赐教!
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 ,请大家赐教!
同样,做“删除”操作的时候,直接删除库里的记录,或是做个标记,然后重新绑定一次GridView
可以使用datatable
先添加数据到datatable,用gridview显示,最后统一插入数据库。
优点是后台编程方便,缺点是页面回发太多 - -
然后再重新绑定一下gridview gridview 的数据源必须要是数据集
可以,添加数据到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>