2015-03-31 73 views

回答

1

使用這樣的: -

if (dtTemSec.Rows.Count > 0) 
        { 
         var table = dtTemSec; 
         var rows = table.AsEnumerable().Where(x => x.Field<string>("Status") != "D" && x.Field<string>("ID") == "ST" && x.Field<int>("Folder") == folder); 
         var dt = rows.Any() ? rows.CopyToDataTable() : table.Clone(); 
         grdStepDetails.DataSource = dt; 
         grdStepDetails.DataBind(); 
         ClientScript.RegisterStartupScript(GetType(), "Val", "ShowStepPopup();", true); 
        } 
        else 
        { 
         grdStepDetails.DataSource = null; 
         grdStepDetails.DataBind(); 
         ClientScript.RegisterStartupScript(GetType(), "Val", "ShowStepPopup();", true); 
        } 
0

使用If條件如下。

if(dtTemSec != null) 
{ 
    if(dtTemSec.Rows.Count > 0) 
    { 
    } 
} 

編輯:

如果是這樣的話,然後把條件篩選後

if(dtTemSec != null) 
    { 
     if(dtTemSec.Rows.Count > 0) 
     { 
      DataTable Temp = new DataTable(); 
      Temp = dtTemSec.AsEnumerable() 
             .Where(x => x.Field<string>("Status") != "D" && x.Field<string>("ID") == "ST" && x.Field<int>("Folder") == folder) 
             .CopyToDataTable(); 
      if(Temp != null) 
      { 
      if(Temp.Rows.Count > 0) 
      { 
       grdStepDetails.DataSource=Temp; 
       grdStepDetails.DataBind(); 
       ClientScript.RegisterStartupScript(GetType(), "Val", "ShowStepPopup();", true); 
      } 
      } 
     } 
    } 
+0

@ sai..Thanks爲你的迴應。 'dtTemSec'總是包含值。基於這些值過濾數據.grdStepDetails.DataSource = dtTemSec.AsEnumerable() .Where(x => x.Field (「Status」)!=「D」&& x .Field (「ID」)==「ST」&& x.Field (「Folder」)==文件夾) .CopyToDataTable();如果結果dosnt包含行,則會通過錯誤 – jithesh 2015-03-31 10:24:20

+0

獲得相同的錯誤 – jithesh 2015-03-31 10:35:10