public void ImportFieldInfoError(FieldErrorInfoCollection errors) { TkDebug.AssertArgumentNull(errors, "errors", this); if (errors.Count == 0) { return; } var errorIndexes = from item in errors orderby item.Position descending group item by item.Position; foreach (var groupItem in errorIndexes) { DataRow row = ImportTable.Rows[groupItem.Key]; int rowNumber = row[ROW_INDEX].Value <int>(); foreach (var item in groupItem) { AddErrorItem(rowNumber, item.NickName, item.Message); } DataRow errorRow = ErrorTable.NewRow(); DataSetUtil.CopyRowByName(row, errorRow); ErrorTable.Rows.Add(errorRow); ImportTable.Rows.Remove(row); } }