System.Data.DataColumn ParentColumn = new System.Data.DataColumn();
ParentColumn.DataType = System.Type.GetType("System.String");
ParentColumn.ColumnName = "IsParent";
ParentColumn.Expression = "'"+ DBHelperShortcut.Exists("c_word", "parentid='+ id +'") +"'";
DT.Columns.Add(ParentColumn);
这段代码的总的意思是在DataTable增加一列"IsParent",判断是否有下级菜单。DBHelperShortcut.Exists 的方法是判断数据是否存在,但是老是取不到值,是哪里出问题了如果改成实际的数字则能取到值ParentColumn.Expression = "'"+ DBHelperShortcut.Exists("c_word", "parentid=0") +"'";

解决方案 »

  1.   

    应该是(!IsPostBack)的缘故,注销下看看
      

  2.   

    DBHelperShortcut.Exists是你自己写的吗?
      

  3.   

    "'"+ DBHelperShortcut.Exists("c_word", "parentid="+ id) +"'";
    试下这个
    or this
    "'"+ DBHelperShortcut.Exists("c_word", "parentid='"+ id +"'") +"'";
      

  4.   

    回楼上,是的,直接帮我解决问题吧,本身Exists方法是没有问题的
      

  5.   

    回shadowjl  这个错的,这样会把id当成一个实际类型,而不是字段里的id,编译会报错!
      

  6.   

    id 是 DataTable里的一个列啊,为自动编号
      

  7.   

    你的DBHelperShortcut.Exists方法能不能解释清楚点
      

  8.   

    DBHelperShortcut.Exists/// <summary>
            ///  是否存在数据
            /// </summary>
            /// <param name="tablename">表名</param>
            /// <param name="where">where条件</param>
            /// <returns>bool</returns>
      

  9.   

    回楼上的 id 是 DataTable里的一个列啊,为自动编号
      

  10.   

    继续求助,我的目标是增加一列,这列的值是子菜单中按照ordernum最大排序的ID值