如题:
string sql2 = "select hwmc,danwei,jianshu,ztiji,zzl,cyf,bxe,huikou,zyf from hwxx where hw_jydbh='KCKY10020801003'";
SqlCommand cmd2 = new SqlCommand(sql2, conn); SqlDataReader rdr2 = cmd2.ExecuteReader();
GridView1.DataSource = rdr2;
GridView1.DataBind();
我想把从数据库中检索的ztiji,zzl两字段 中
当值为0的时候 不显示出来??
string sql2 = "select hwmc,danwei,jianshu,ztiji,zzl,cyf,bxe,huikou,zyf from hwxx where hw_jydbh='KCKY10020801003'";
SqlCommand cmd2 = new SqlCommand(sql2, conn); SqlDataReader rdr2 = cmd2.ExecuteReader();
GridView1.DataSource = rdr2;
GridView1.DataBind();
我想把从数据库中检索的ztiji,zzl两字段 中
当值为0的时候 不显示出来??
protected void GridView_RowCreated(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow || e.Row.RowType == DataControlRowType.Header)
{
e.Row.Cells[1].Visible = false;
}
}
这样呢?
select hwmc,danwei,jianshu,ztiji,zzl,cyf,bxe,huikou,zyf from hwxx where hw_jydbh='KCKY10020801003' and ztiji!=0 and zzl!=0
是不是楼主要的结果?
我的理解是楼主想对以上两个条件再做一次过滤
是要做两次过虑 但是如果你这样的话 就什么数据都查不出来了
我是要在查询后的结果中 只要是ztiji 或者zzl 中的一个值为0的话 就隐藏不显示出来
Visible='<%# MyCheck((int)Eval("zzl"),(int)Eval("ztiji")) %>' />
你可以定义方法protected bool MyCheck(int zzl,int ztiji){...}如此类推。你可以绑定任意多的字段,写任意复杂的判断Visible值的函数,道理都是很容易懂的。
dt.Columns.Add("name");
dt.Rows.Add("cc");
dt.Rows.Add("dd");
dt.Rows.Add(""); DataView dv = new DataView(dt);
dv.RowFilter = "name<>'cc'";
dataGridView1.DataSource = dv;
Visible='<%# (int)Eval("zzl")!=0 && (int)Eval("ztiji")!=0 %>' />
这个啊,还是得从数据库查询中就过滤一下
select hwmc,danwei,jianshu,ztiji,zzl,cyf,bxe,huikou,zyf from hwxx where hw_jydbh='KCKY10020801003' and (ztiji!=0 or zzl!=0)
下面的这个语句过滤的更彻底,如果有任何一个为0就
select hwmc,danwei,jianshu
, ztiji = NULLIF(ztiji, 0)
, zzl = NULLIF(zzl, 0)
, cyf,bxe,huikou,zyf
from hwxx
where hw_jydbh='KCKY10020801003'
<asp:Label ID="myLabel" runat="server" Text='<%# (int)Eval("zzl")==0?string.Empty: Eval("ztiji")%>' />
2.如果是在后期有处理的话建议用DataView ,过滤比较方便.
case when ztiji=0 then '' else ztiji end as ztiji,
case when zzl=0 then '' else zzl end as zzl,
cyf,bxe,huikou,zyf from hwxx where hw_jydbh='KCKY10020801003'