2008年8月29日星期五

删除DataSet中的节点

DataTier.SADataSet oDataset = oFactory.ExecuteDataSet(ref oRequest);
DataSet ds = oDataset.ReturnedDataSet;
if (Aventus.Common.CheckObject.CheckDatasetIsHasRow(ds))
{
if (ds.Tables[0].Rows.Count > 0)
{
int originalRowCount = Int32.Parse(ds.Tables[0].Rows[0][1].ToString());
int deletedRowCount = 0;

for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
using (GetXmlPath cltGetPath = new GetXmlPath())
{
if (!File.Exists(cltGetPath.GetPriceComponentFilePath(ds.Tables[0].Rows[i][5].ToString(), ds.Tables[0].Rows[i][7].ToString(), ds.Tables[0].Rows[i][6].ToString(), new Common().GetProductCategoryName(Int32.Parse(ds.Tables[0].Rows[i][2].ToString())))))
{
ds.Tables[0].Rows.RemoveAt(i);
deletedRowCount++;
}
}
}

if (deletedRowCount > 0)
{
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
ds.Tables[0].Rows[i][1] = originalRowCount - deletedRowCount;
}
}
}

没有评论: