GridView用法

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Perfect.Common;

public partial class AdminUser_PresentManage_PresentItemSearch : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            this.GetPresentItemByParam(-1,null,-1,-1);
        }
        this.LblPresentNoError.Text = "";
    }

    protected void BtnSearch_Click(object sender, EventArgs e)
    {
        int presentNo = -1;
        if (!string.IsNullOrEmpty(this.TxtPresentNo.Text))
        {
            presentNo = int.Parse(this.TxtPresentNo.Text.Trim());
        }
        string presentName = this.TxtPresentName.Text.Trim();
        int scoreUsedIndex = this.DDLScoreUsed.SelectedIndex;
        int costPriceIndex = this.DDLCostPrice.SelectedIndex;
        this.GetPresentItemByParam(presentNo,presentName,scoreUsedIndex,costPriceIndex);
    }

    private void GetPresentItemByParam(int presentNo, string presentName, int scoreUsedIndex, int costPriceIndex)
    {
        string sql = "select PresentNo,PresentName,ScoreUsed,isEnabled,PictureURL,CostPrice,Explain from tbPresent ";
        if (!string.IsNullOrEmpty(presentName))
        {
            sql += " where PresentName='" + presentName + "' ";
            if (presentNo >= 0)
            {
                sql += " and PresentNo=" + presentNo;
            }
        }
        else {
            if (presentNo >= 0)
            {
                sql += " where PresentNo=" + presentNo;
            }
        }
        if ((!string.IsNullOrEmpty(presentName)) || (presentNo >= 0))
        {
            switch (scoreUsedIndex)
            {
                case 0:
                    break;
                case 1:
                    sql += " and ScoreUsed>1000";
                    break;
                case 2:
                    sql += " and ScoreUsed>=200  and  ScoreUsed<=1000";
                    break;
                case 3:
                    sql += " and ScoreUsed<200";
                    break;
            }
            switch (costPriceIndex)
            {
                case 0:
                    break;
                case 1:
                    sql += " and CostPrice>100";
                    break;
                case 2:
                    sql += " and CostPrice>=50 and  CostPrice<=100";
                    break;
                case 3:
                    sql += " and CostPrice<50";
                    break;
            }
        }
        else
        {
            switch (scoreUsedIndex)
            {
                case 0:
                    break;
                case 1:
                    sql += " where ScoreUsed>1000";
                    break;
                case 2:
                    sql += " where ScoreUsed>=200 and  ScoreUsed<=1000";
                    break;
                case 3:
                    sql += " where ScoreUsed<200";
                    break;
            }
            if (scoreUsedIndex != 0)
            {
                switch (costPriceIndex)
                {
                    case 0:
                        break;
                    case 1:
                        sql += " and CostPrice>100";
                        break;
                    case 2:
                        sql += " and CostPrice>=50 and  CostPrice<=100";
                        break;
                    case 3:
                        sql += " and CostPrice<50";
                        break;
                }
            }
            else {
                switch (costPriceIndex)
                {
                    case 0:
                        break;
                    case 1:
                        sql += " where CostPrice>100";
                        break;
                    case 2:
                        sql += " where CostPrice>=50 and  CostPrice<=100";
                        break;
                    case 3:
                        sql += " where CostPrice<50";
                        break;
                }
            }
        }
        this.GVPresentItem.DataSource = DataBase.ReturnDataSet(sql);
        this.GVPresentItem.DataKeyNames = new string[] { "PresentNo", "PictureURL" };
        this.GVPresentItem.DataBind();
    }
    protected void GVPresentItem_RowEditing(object sender, GridViewEditEventArgs e)
    {
        GridView view = sender as GridView;
        if (view != null)
        {
            view.EditIndex = e.NewEditIndex;
            view.SelectedIndex = e.NewEditIndex;
            string presentNo = view.DataKeys[e.NewEditIndex].Values[0].ToString();
            或者用以下方式得到presentNo
            //string presentNo = view.Rows[e.NewEditIndex].Cells[1].Text;
            Response.Redirect("PresentItemUpdate.aspx?PresentNo=" + presentNo);
        }
    }
    protected void GVPresentItem_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        GridView view = sender as GridView;
        if (view != null)
        {
            if (e.CommandName == "DeletePresentItem" && e.CommandName != "Page")
            {
                view.EditRowStyle.BackColor = System.Drawing.Color.FromName("#F7CE90");
                int index = Convert.ToInt32(e.CommandArgument);
                GridViewRow row = view.Rows[index];
                string presentNo = row.Cells[1].Text;
                或者用以下方法得到presentNo
                //string presentNo = view.DataKeys[index].Values[0].ToString();
                Response.Write(presentNo);
            }
            if (e.CommandName == "LBDeletePresentItem" && e.CommandName != "Page")
            {
                LinkButton lb = view.Rows[int.Parse(e.CommandArgument.ToString())].FindControl("LBDeletePresentItem")as LinkButton;
                Response.Write(lb.CommandArgument);
            }
        }
    }
    protected void GVPresentItem_RowCreated(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            LinkButton lb = e.Row.FindControl("LBDeletePresentItem") as LinkButton;
            if (lb != null)
            {
                lb.CommandArgument = e.Row.RowIndex.ToString();
            }
        }
    }
}
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值