3
請在下面找到code.It將通過一個錯誤'源不包含DataRow',如果它是行是空的。如何處理這?如何處理'源不包含DataRows。 'error
請在下面找到code.It將通過一個錯誤'源不包含DataRow',如果它是行是空的。如何處理這?如何處理'源不包含DataRows。 'error
使用這樣的: -
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);
}
使用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);
}
}
}
}
@ 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
獲得相同的錯誤 – jithesh 2015-03-31 10:35:10