GRIDVIEW的字段绑定问题,如何根据一个字段是否是空值在该列里显示“是”或者“否”?

时间:2022-02-15 13:23:36
比如某一列:<asp:BoundField DataField="CCID" HeaderText="CCID" SortExpression="CCID" />

显示的是CCID的值,现我不想显示CCID的值,只想根据CCID是否为空显示“是”或“否(或不显示)”。或其他可替代方案,比如显示一个打勾的图片等。

该如何做到?最好是一个不需要后台代码的方案。谢谢大家!

A:考,三个裤衩还问这种低级问题。
Q:(不好意思状)其实都是接分接来的。

18 个解决方案

#1


<%#Eval("CCID").ToString() == null?"否":"是"%>

#2


up

#3


1\改写你的SQL语句,不写后台代码就不是太好做哟.
2\用JS遍历你的Table对指定的列进行判断,并替换显示字符

#4


同意wang520d(Q),不过不知楼主说的“CCID是否为空”是null还是""

#5


<%#Eval("CCID").ToString() == ""?"否":"是"%>

#6




用我的之前 先考虑 “hdjjun(笑熬浆糊) ”的意见

#7



        for (int i = 0; i < GridView1.Rows.Count; i++)
        {
            if (GridView1.Rows[i].Cells[2].Text == "")
            {
                GridView1.Rows[i].Cells[2].Text = "是";
            }
            else
            {
                GridView1.Rows[i].Cells[2].Text = "否";
            }
        }

#8


<asp:TemplateField HeaderText="是否">
<ItemTemplate>
        <asp:Label runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"start").ToString()=="True"?"√":"×" %>'></asp:Label>                
</ItemTemplate>
</asp:TemplateField>

#9


<asp:TemplateField HeaderText="CCID">
<ItemTemplate>
        <asp:Label runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"CCID").ToString()=="True"?"√":"×" %>'></asp:Label>                
</ItemTemplate>
</asp:TemplateField>

#10


protected   void   GridView1_RowDataBound(object   sender,   GridViewRowEventArgs   e)   
          {   
    
                  if   (e.Row.RowType   ==   DataControlRowType.DataRow)   
                  {                           
                          Label   lblCCID   =   (Label)e.Row.Cells[0].Controls[1];   
                          if   (lblCCID   ==   null)   
                                  lblCCID.Text   =   "是";   
                          else   
                                  lblCCID.Text   =   "否";       
                  }   
          }
=====================================
A:靠,二个裤衩还答这种低级问题。
Q:(不好意思状)其实都是接分接来的。
开个玩笑,问题没有高低

#11


<%# DataBinder.Eval(Container.DataItem,"Status").ToString().ToLower() =="true"?"启用":"<font color=red>禁用</font>" %>

#12


文字的方法
<%#Eval("CCID").ToString() == null?"否":"是"%>

打钩的方法
<input id="Checkbox1" type="checkbox" checked='<%#Eval("CCID").ToString() == null?false:true%>'/>

一上都使用模板列实现

#13


學習~

#14


咔咔咔 .....

Eval("CCID").ToString() == null  永不成立!!!!!


》》》

Eval("CCID") == null 


#15


学习

#16


1\改写你的SQL语句,不写后台代码就不是太好做哟
--------------------------------------------

我认为SQL语句应该最真实地反映事务,如何显示由表现层来做比较好。
我还以为写后台代码是不得已的方法,能不写就尽量不写。这不是偷懒,是为了充分发挥.net的潜力。

#17


Jinglecat(晓风残月 >> 问题需简洁,错误要详细,需求得明确) ( ) 信誉:94  2007-8-24 11:23:40  得分: 1  
 
 
   
咔咔咔 .....

Eval("CCID").ToString() == null  永不成立!!!!!


》》》

Eval("CCID") == null 




  
 
============
致敬。。。。学习。。。

#18


学习,学习,

#1


<%#Eval("CCID").ToString() == null?"否":"是"%>

#2


up

#3


1\改写你的SQL语句,不写后台代码就不是太好做哟.
2\用JS遍历你的Table对指定的列进行判断,并替换显示字符

#4


同意wang520d(Q),不过不知楼主说的“CCID是否为空”是null还是""

#5


<%#Eval("CCID").ToString() == ""?"否":"是"%>

#6




用我的之前 先考虑 “hdjjun(笑熬浆糊) ”的意见

#7



        for (int i = 0; i < GridView1.Rows.Count; i++)
        {
            if (GridView1.Rows[i].Cells[2].Text == "")
            {
                GridView1.Rows[i].Cells[2].Text = "是";
            }
            else
            {
                GridView1.Rows[i].Cells[2].Text = "否";
            }
        }

#8


<asp:TemplateField HeaderText="是否">
<ItemTemplate>
        <asp:Label runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"start").ToString()=="True"?"√":"×" %>'></asp:Label>                
</ItemTemplate>
</asp:TemplateField>

#9


<asp:TemplateField HeaderText="CCID">
<ItemTemplate>
        <asp:Label runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"CCID").ToString()=="True"?"√":"×" %>'></asp:Label>                
</ItemTemplate>
</asp:TemplateField>

#10


protected   void   GridView1_RowDataBound(object   sender,   GridViewRowEventArgs   e)   
          {   
    
                  if   (e.Row.RowType   ==   DataControlRowType.DataRow)   
                  {                           
                          Label   lblCCID   =   (Label)e.Row.Cells[0].Controls[1];   
                          if   (lblCCID   ==   null)   
                                  lblCCID.Text   =   "是";   
                          else   
                                  lblCCID.Text   =   "否";       
                  }   
          }
=====================================
A:靠,二个裤衩还答这种低级问题。
Q:(不好意思状)其实都是接分接来的。
开个玩笑,问题没有高低

#11


<%# DataBinder.Eval(Container.DataItem,"Status").ToString().ToLower() =="true"?"启用":"<font color=red>禁用</font>" %>

#12


文字的方法
<%#Eval("CCID").ToString() == null?"否":"是"%>

打钩的方法
<input id="Checkbox1" type="checkbox" checked='<%#Eval("CCID").ToString() == null?false:true%>'/>

一上都使用模板列实现

#13


學習~

#14


咔咔咔 .....

Eval("CCID").ToString() == null  永不成立!!!!!


》》》

Eval("CCID") == null 


#15


学习

#16


1\改写你的SQL语句,不写后台代码就不是太好做哟
--------------------------------------------

我认为SQL语句应该最真实地反映事务,如何显示由表现层来做比较好。
我还以为写后台代码是不得已的方法,能不写就尽量不写。这不是偷懒,是为了充分发挥.net的潜力。

#17


Jinglecat(晓风残月 >> 问题需简洁,错误要详细,需求得明确) ( ) 信誉:94  2007-8-24 11:23:40  得分: 1  
 
 
   
咔咔咔 .....

Eval("CCID").ToString() == null  永不成立!!!!!


》》》

Eval("CCID") == null 




  
 
============
致敬。。。。学习。。。

#18


学习,学习,