在DataGrid中有个摸板列,该列是这样绑定的
DataBinder.Eval(Container, "DataItem.Name")=="任务联系"?DataBinder.Eval(Container, "DataItem.f"):DataBinder.Eval(Container, "DataItem.t")
如果我直接绑定DataBinder.Eval(Container, "DataItem.Name")显示的是任务联系,
为什么当我绑定条件表达式老是读DataBinder.Eval(Container, "DataItem.t")应该读DataBinder.Eval(Container, "DataItem.f")这个才对啊,是不是格式错了呢?

解决方案 »

  1.   

    DataBinder.Eval(Container, "DataItem.Name").ToString().Equals("任务联系") ? ...
      

  2.   

    有空格吧,
    DataBinder.Eval(Container, "DataItem.Name").ToString().Trim() == "任务联系"
    试试
      

  3.   

    DataBinder.Eval(Container, "DataItem.Name").ToString()=="任务联系"
    试试看这里还建议楼主 表达式语法 最好是这样写
    DataBinder.Eval(Container.DateItem,"Name")
    这样会有更好的性能
    而且绑定的数据源 字段 也看起更清晰
      

  4.   

    DataBinder.Eval(Container, "DataItem.Name")得到的是object对象,不能直接与自负串比较正确的写法是:
    (DataBinder.Eval(Container, "DataItem.Name").ToString()=="任务联系")?DataBinder.Eval(Container, "DataItem.f"):DataBinder.Eval(Container, "DataItem.t")
      

  5.   

    你这个应该是数据的字段长度太长,而实际"任务联系"只有8位,字段长度大于实8位就会自己生成空格.
    有空格的"任务联系      "和"任务联系"比较能相等吗..????结果当然返回False;
      

  6.   

    DataBinder.Eval(Container, "DataItem.Name").ToString().Trim() == "任务联系"在楼说的就能解决了..