当前位置:编程学习 > C#/ASP.NET >>

gridview筛选数据隐藏的问题

现在遇到点问题 , 希望大侠帮下忙 

在查询条件中有一个下拉列表的选择  是否欠费:是  否

现在将数据绑定在gridview中 用其中的两列进行相减 得到的数据就是作为是否欠费的依据

由于种种原因不能在存储过程中完成 所以在RowDataBound事件里进行计算 代码如下 逻辑好想有问题 数据少的时候看不出来,数据多的时候分页就乱了  每页显示的就不一样多了  请问还有别的方法吗?


 protected void gv_rptStu_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {   
                decimal qianfeimoney = amount - factMoney;//欠费金额
                e.Row.Cells[8].Text = qianfeimoney.ToString();
                if (ddlisowe.SelectedIndex == 1)//欠费
                {
                    if (qianfeimoney > 0)
                    {
                        e.Row.Visible = true;
                    }
                    else
                    {
                        e.Row.Visible = false;
                    }
                }
                else if (ddlisowe.SelectedIndex == 2)//不欠费
                {
                    if (qianfeimoney > 0)
                    {
                        e.Row.Visible = false;
                    }
                    else
                    {
                        e.Row.Visible = true;
                    }
                }
                else
                {

                }
            }
        }

--------------------编程问答--------------------
为何不直接在下拉列表的change事件中写呢 ?每次选择就刷新下GridView中的数据,
  绑定数据的时候改一下查询条件  where amount > factMoney --------------------编程问答-------------------- 你把gridview保存在一个session中,然后在下拉框里面的OnSelectedIndexChanged事件下面写,直接用 if (DropDownList1.SelectedValue == "是")
{

...
}else
{
...
} --------------------编程问答--------------------
引用 1 楼  的回复:
为何不直接在下拉列表的change事件中写呢 ?每次选择就刷新下GridView中的数据,
  绑定数据的时候改一下查询条件 where amount > factMoney

绑定数据源的时候实际上只有两列,其他列都是在RowDataBound事件里通过绑定的两列计算出来的
不知道计算出来的列如何作为条件去筛选 --------------------编程问答--------------------
引用 3 楼  的回复:
引用 1 楼  的回复:
为何不直接在下拉列表的change事件中写呢 ?每次选择就刷新下GridView中的数据,
绑定数据的时候改一下查询条件 where amount > factMoney

绑定数据源的时候实际上只有两列,其他列都是在RowDataBound事件里通过绑定的两列计算出来的
不知道计算出来的列如何作为条件去筛选

可以在后台先计算好数据,再根据下拉列表的值加个判断,保存在一个datatable中,值为0时保存全部,值为1时保存欠费的数据,为2时保存不欠费的数据,用下拉列表的事件去触发Gridview的绑定事件
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,