1. 商品管理列表页
要求:设计相关界面
完成商品列表展示,根据商品类别(当商品类别为全部时,查询全部)和商品名称(进行模糊查询)进行查询,展示出列表。
点击商品名称,跳转到商品编辑界面。
检索按钮:实现重新检索功能
删除按钮:将选择的商品进行删除
新增按钮:打开新增商品界面
1、 商品列表展示
添加一个GridView控件
编辑并添加列六列:选择、商品名称、商品类别、商品价格、是否打折、折后价
然后绑定数据
并通过执行SQL语句来展示商品列表:
因为:后面的下拉列表类别检索和输入名检索SQL语句代码重复性大,所在绑定这块儿可以直接先设置条件到时候,可以直接调用是绑定函数;
注意:在加载页中要将绑定函数放进去,否则无效!
///
/// 绑定数据并显示
///
private void BinData()
{
//获取分类id和输入名
int typeId = this.gvSort.SelectedIndex;
string name = txtSearchName.Text;
StringBuilder sql = new StringBuilder();
sql.AppendLine("SELECT CommodityID,CommodityName,SortName,CommodityPrice,IsDiscount,ReducedPrice");
sql.AppendLine("FROM dbo.Commodity AS c");
sql.AppendLine("INNER JOIN dbo.CommoditySort AS s");
sql.AppendLine("ON c.SortID=s.SortID");
sql.AppendLine("WHERE 1=1");
//当下拉列表框索引不为0,即选项不为"全部"时
if(typeId!=0)
{
sql.AppendLine("AND c.SortID=@SortID");
}
//当输入名不为空时
if (!string.IsNullOrEmpty(name))
{
sql.AppendLine("AND CommodityName LIKE @name");
}
SqlParameter[] pms ={
new SqlParameter("@SortID",SqlDbType.Int,4),
new SqlParameter("@name",SqlDbType.VarChar,50)
};
pms[0].Value = typeId;
pms[1].Value="%"+name+"%";
DataSet ds = DbHelperSQL.Query(sql.ToString(),pms);
gvCommodity.DataSource = ds;
gvCommodity.DataBind();
}
(1) 检索功能:可以直接调用绑定函数
///
///检索
///
///
///
protectedvoid btnSearch_Click(objectsender, EventArgs e)
{
//获取输入商品名
BinData();
}
(2)选择主要是存放商品ID并通过CheckBox控件来实现选中,最后通过删除按钮来将选中列删除!
<asp:TemplateField HeaderText="选择">
<ItemTemplate>
<asp:CheckBox ID="CheckSelect" runat="server" />
ItemTemplate>
asp:TemplateField>
删除功能:
首先定义一个查询对象:用于执行删除语句和输出选中状态,然后根据查询结果的行数来判断是否有行被选中!主要分两个分支:第一个是大于0,即有选择的情况,第二个是未选中的情况。当选中后需要先去掉查找出来的” CommodityID”后面的“,”号,然后再分为多选和单选两个分支来执行删除语句!特别注意
特别注意:CommodityID需要隐藏,在GridView中设置属性:DataKeyNames="CommodityID"
///
(2) 通过下拉列表检索时首先需要进行数据绑定,直接选择数据源即可也可以通过SQL语句的形式
在加载程序中添加代码:
//给下拉列表第一项设置为全部
this.gvSort.DataBind();
this.gvSort.Items.Insert(0,"全部");
然后在单击事件中调用绑定函数即可
///
///按下拉列表类目分类展示
///
///
///
protectedvoid gvSort_SelectedIndexChanged(object sender, EventArgse)
{
BinData();//调用绑定函数即可
}