void BindData() { long ResID = Resource.GetTopParentID(NodeID); string strSql = "select T.*,(Case when IsNull(Col.ID,0)=0 then CD_DISPNAME else Col.ShowColumnName end) CD_ShowName,IsNull(Col.OrderNum,0) OrderNum,(Case when IsNull(Col.ID,0)=0 then 0 else 1 end) IsBe from(SELECT [CD_ID],[CD_RESID] ,[CD_COLNAME],[CD_DISPNAME],(case CD_Type when 1 then 'nvarchar' when 2 then 'float' when 3 then 'int' when 4 then 'datetime' when 5 then 'ntext' when 6 then 'image' when 7 then 'money' when 8 then 'datetime' when 9 then 'bit' when 10 then 'ntext' end) DataType,CS_SHOW_ORDER FROM [CMS_TABLE_DEFINE] D join [CMS_TABLE_SHOW] S on D.CD_COLNAME=S.CS_COLNAME and D.CD_RESID=S.CS_RESID where CD_RESID in (" + ResID + "))T left join (select R.ID,R.ColumnName,R.ShowColumnName,R.OrderNum from SysSettings S join ResourceColumn R on S.ENKeyWord=R.KeyWord where S.id=" + RecID + ")Col on Col.ColumnName=T.CD_DISPNAME order by IsBe desc, OrderNum , CS_SHOW_ORDER;" + " select * from (select KeyWord, SearchCol=stuff((select ','+SearchCol from Sys_CXZJLB t where KeyWord=t.KeyWord and KeyWord in (select ENKeyWord from dbo.SysSettings where id=" + RecID + ") for xml path('')), 1, 1, '') from Sys_CXZJLB group by KeyWord) tab "; string[] changePassWord = Common.getChangePassWord(); DataSet ds = Resource.SelectData(strSql, changePassWord[0], changePassWord[1], changePassWord[2]); DataTable dt = ds.Tables[0]; dlCol.DataSource = dt; dlCol.DataBind(); if (ds.Tables[1].Rows.Count > 0) { DataRow dr = ds.Tables[1].Rows[0]; SearchCol = DbField.GetStr(ref dr, "SearchCol"); } }