📄 eight.html
字号:
<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" /><br>
<PagerStyle BackColor="White" Font-Underline="True" ForeColor="Black" HorizontalAlign="Center" /><br>
<HeaderStyle BackColor="White" Font-Bold="True" ForeColor="Black" /><br>
<AlternatingRowStyle BackColor="White" /><br>
</asp:GridView><br>
</td><br>
</tr><br>
</table><br>
</asp:Panel><br>
<asp:Panel ID="PalOneGoodsSaveAlert" runat="server" Visible="False"><br>
<table class="bor_1" cellspacing="0" cellpadding="0" width="800" align="center" border="0"><br>
<tr><br>
<td class="bgTitler" align="center" colspan="3" height="30"><br>
<img id="image1" height="22" src="../images/icon_008.gif" width="22" align="absMiddle"<br>
border="0" name="image1">&nbsp;&nbsp; <b>库存预警商品数量修改</b><br>
</td><br>
</tr><br>
<tr><br>
<td width="250" height="30"><br>
&nbsp;&nbsp;</td><br>
<td width="110" height="30"><br>
&nbsp;&nbsp;商品名称:<font color="red">*</font></td><br>
<td width="450"><br>
<asp:TextBox ID="GoodsID" runat="server" Visible="False" ReadOnly="True"></asp:TextBox><br>
<asp:TextBox ID="GoodsName" runat="server" CssClass="box1" Width="200px" ReadOnly="True"<br>
MaxLength="50" BackColor="#EEEEEE"></asp:TextBox></td><br>
</tr><br>
<tr><br>
<td width="250" height="30"><br>
&nbsp;&nbsp;</td><br>
<td width="110" height="30"><br>
&nbsp;&nbsp;商品库存数量:</td><br>
<td width="450"><br>
<asp:TextBox ID="SaveNum" runat="server" CssClass="box1" Width="200px" MaxLength="8"></asp:TextBox></td><br>
</tr><br>
<tr><br>
<td width="250" height="30"><br>
&nbsp;&nbsp;</td><br>
<td width="110" height="30"><br>
&nbsp;&nbsp;最近增加数量:</td><br>
<td width="450"><br>
<asp:TextBox ID="SaveAddNum" runat="server" CssClass="box1" Width="200px" ReadOnly="True"<br>
MaxLength="8" BackColor="#EEEEEE"></asp:TextBox></td><br>
</tr><br>
<tr><br>
<td width="250" height="30"><br>
&nbsp;&nbsp;</td><br>
<td width="110" height="30"><br>
&nbsp;&nbsp;商品入库时间:<font color="red">*</font></td><br>
<td width="450"><br>
<asp:TextBox ID="SaveTime" runat="server" CssClass="box1" Width="200px" ReadOnly="True"<br>
MaxLength="50" BackColor="#EEEEEE"></asp:TextBox></td><br>
</tr><br>
<tr><br>
<td width="250" height="30"><br>
&nbsp;&nbsp;</td><br>
<td width="110" height="30"><br>
&nbsp;&nbsp;最近增加时间:<font color="red">*</font></td><br>
<td width="450"><br>
<asp:TextBox ID="SaveAddTime" runat="server" CssClass="box1" Width="200px" ReadOnly="True"<br>
MaxLength="50" BackColor="#EEEEEE"></asp:TextBox></td><br>
</tr><br>
<tr><br>
<td align="center" colspan="3" style="height: 40px"><br>
<asp:Button ID="IsAdd" runat="server" Text="提 交" CssClass="button-a" OnClick="IsAdd_Click"><br>
</asp:Button>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
<input class="button-a" onfocus="if(this.blur)this.blur()" type="reset" value="清 空"><br>
</td><br>
</tr><br>
</table><br>
</asp:Panel><br>
</form><br>
</body><br>
</html></p>
<p>3.在GoodsSaveAlert.aspx.cs中引用命名空间</p>
<p class="code">using Kingvcn.WShop;</p>
<p>定义调用对象</p>
<p class="code">GoodsSave GoodsSave = new GoodsSave();<br>
protected string typename = ConfigurationManager.AppSettings["typename"];<br>
int goodsID = 0;<br>
int alertNum = 0;</p>
<p>在Page_Load()事件中加入程序,先写上登录管理员的Session判定程序,然后在库存类文件GoodsSave.cs上创建提取库存信息数字的方法GetGoodsSaveInfoNum(),该方法的输入参数是返回结果的类型(根据输入参数确定是返回商品预警数字,还是商品满库数字),在GoodsSaveAlert.aspx.cs引用申明后调用获取商品预警数字存放在定义好的变量alertNum中,然后判断是否有GoodsID传入,有的话将其值存放在变量goodsID中,并调用GetGoodsSaveAlertByID()方法,隐藏PalAllGoodsSaveAlert Panel控件,显示PalOneGoodsSaveAlert Panel控件。如果没有GoodsID传入就显示PalAllGoodsSaveAlert Panel控件,隐藏PalOneGoodsSaveAlert Panel控件。</p>
<p class="code">protected void Page_Load(object sender, EventArgs e)<br>
{<br>
if((Session["ManagerID"] == null)||(Session["ManagerID"].ToString() == ""))<br>
{<br>
JScript.GotoParentWindow("Index.aspx");<br>
}<br>
else<br>
{<br>
alertNum = GoodsSave.GetGoodsSaveInfoNum(0);<br>
if ((Request["GoodsID"] != null) && (Request["GoodsID"].ToString() != ""))<br>
{<br>
goodsID = int.Parse(Request["GoodsID"].ToString());<br>
if (!IsPostBack)<br>
{<br>
GetGoodsSaveAlertByID(goodsID);<br>
PalAllGoodsSaveAlert.Visible = false;<br>
PalOneGoodsSaveAlert.Visible = true;<br>
}<br>
}<br>
else<br>
{<br>
if (!IsPostBack)<br>
{<br>
PalAllGoodsSaveAlert.Visible = true;<br>
PalOneGoodsSaveAlert.Visible = false;<br>
}<br>
}<br>
}<br>
}</p>
<p>在库存类文件GoodsSave.cs上创建提取库存信息数字的方法GetGoodsSaveInfoNum()</p>
<p class="code">/// <summary><br>
/// 提取库存信息数字<br>
/// </summary><br>
/// <param name="typeID">库存信息种类,输入为0时提取预警数字,否则提取满库数量</param><br>
/// <returns>相关库存信息数字</returns><br>
public int GetGoodsSaveInfoNum(int typeID)<br>
{<br>
int flag = 0;<br>
if (typeID == 0)<br>
{<br>
cmd.CommandText = string.Format("select top 1 AlertNum from GoodsSaveInfo order by GoodsSaveInfoID desc");<br>
}<br>
else<br>
{<br>
cmd.CommandText = string.Format("select top 1 AllNum from GoodsSaveInfo order by GoodsSaveInfoID desc");<br>
}<br>
try<br>
{<br>
conn.Open();<br>
flag = Convert.ToInt32(cmd.ExecuteScalar());<br>
}<br>
catch (Exception ex)<br>
{<br>
throw (ex);<br>
}<br>
finally<br>
{<br>
cmd.Dispose();<br>
conn.Close();<br>
}<br>
return flag;<br>
}</p>
<p>4.在GoodsSaveAlert.aspx.cs中的预警商品全部满库的Click事件IsAdd_Click()中首先调用库存类文件GoodsSave.cs的GetGoodsSaveInfoNum()方法提取商品的满库数量allNum,然后调用GoodsSave.cs中的方法SetGoodsSaveAll()在数据库中写入数据,修改成功后重新跳转到库存预警商品页面GoodsSaveAlert.aspx</p>
<p class="code">/// <summary><br>
/// 把预警商品全部满库<br>
/// </summary><br>
protected void AddAll_Click(object sender, EventArgs e)<br>
{<br>
int allNum = GoodsSave.GetGoodsSaveInfoNum(1);<br>
int modifyOk = GoodsSave.SetGoodsSaveAll(allNum, alertNum);<br>
if (modifyOk == 1)<br>
{<br>
JScript.Alert("预警商品全部满库成功,欢迎使用!");<br>
JScript.JavaScriptLocationHref("GoodsSaveAlert.aspx");<br>
}<br>
else<br>
{<br>
JScript.Alert("预警商品全部满库失败,请稍后再来!");<br>
return;<br>
}<br>
}</p>
<p>在库存类文件GoodsSave.cs上创建把预警商品全部满库的方法SetGoodsSaveAll(),该方法的输入参数是商品满库数量和商品预警数量,该方法是通过判断现有库存数量将现有库存数量小于预警数量的全部商品的现有数量都更新为满库数量,并计算新增加了多少商品,记录到数据库表中。</p>
<p class="code">/// <summary><br>
/// 把预警商品全部满库<br>
/// </summary><br>
/// <param name="allNum">商品满库数量</param><br>
/// <param name="alertNum">商品预警数量</param><br>
/// <returns>flag标记</returns><br>
public int SetGoodsSaveAll(int allNum, int alertNum)<br>
{<br>
int flag = 0;<br>
cmd.CommandText = string.Format("update GoodsSave set SaveNum = {0},SaveAddNum = {0}-SaveNum,SaveAddTime = getdate() where SaveNum < {1}", allNum, alertNum);<br>
try<br>
{<br>
conn.Open();<br>
cmd.ExecuteNonQuery();<br>
flag = 1;<br>
}<br>
catch (Exception ex)<br>
{<br>
throw (ex);<br>
}<br>
finally<br>
{<br>
cmd.Dispose();<br>
conn.Close();<br>
}<br>
return flag;<br>
}</p>
<p>5.然后在GoodsSaveAlert.aspx.cs中添加提取库存预警商品信息的方法,该方法以前面定义的变量goodsID作为传入参数,调用库存类文件GoodsSave.cs上的方法GetGoodsSaveAlertByID(),完成库存预警商品信息的提取,并把存预警商品的信息字段赋值给相应的TextBox控件。</p>
<p class="code">/// <summary><br>
/// 提取库存预警商品信息<br>
/// </summary><br>
/// <param name="goodsID">商品ID</param><br>
private void GetGoodsSaveAlertByID(int goodsID)<br>
{<br>
if (goodsID > 0)<br>
{<br>
DataTable myDtb = new DataTable();<br>
myDtb = GoodsSave.GetGoodsSaveAlertByID(goodsID);<br>
if (myDtb.DefaultView.Count > 0)<br>
{<br>
GoodsID.Text = myDtb.DefaultView[0]["GoodsID"].ToString();<br>
GoodsName.Text = myDtb.DefaultView[0]["GoodsName"].ToString();<br>
SaveNum.Text = myDtb.DefaultView[0]["SaveNum"].ToString();<br>
SaveAddNum.Text = myDtb.DefaultView[0]["SaveAddNum"].ToString();<br>
SaveTime.Text = myDtb.DefaultView[0]["SaveTime"].ToString();<br>
SaveAddTime.Text = myDtb.DefaultView[0]["SaveAddTime"].ToString();<br>
}<br>
else<br>
{<br>
JScript.Alert("没有找到该商品的库存信息!");<br>
JScript.GotoParentWindow("GoodsSaveAlert.aspx");<br>
}<br>
}<br>
}</p>
<p>在库存类文件GoodsSave.cs上写一个按商品的goodsID提取某个库存预警商品信息的方法GetGoodsSaveAlertByID()。</p>
<p class="code">/// <summary><br>
/// 提取库存预警商品信息<br>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -