Приведу основную таблицу записей из таблицы объекта DataView
Основные табличные данные:
SELECT INVOICENO, AllocatedTo,AllocatedToDeliveryOwner,Email_AllocatedTo,Email_AllocatedToDeliveryOwner FROM abctable
в приведенной выше таблице счет-фактура будет уникальным, другие столбцы также могут иметь повторяющиеся значения и null.
Мое требование:
Необходимо поделиться всеми связанными деталями счетов-фактур с лицами (AllocatedTo,AllocatedToDeliveryOwner)в Почте.
static void Main(string[] args) { LongPendingCollectionAlertBL objBL = new LongPendingCollectionAlertBL(); DataTable dtResultInvoices = objBL.InvoicesDetailsBL(); if (dtResultInvoices.Rows.Count > 0) { Mailcontent(dtResultInvoices); } } public static void Mailcontent(DataTable dtResultInvoices) { DataView view = new DataView(dtResultInvoices); DataTable distinctValues = view.ToTable(true, "AllocatedTo", "AllocatedToDeliveryOwner", "Email_AllocatedTo", "Email_AllocatedToDeliveryOwner"); foreach (DataRow row in distinctValues.Rows) { DataRow[] foundRows = dtResultInvoices.Select("AllocatedTo = '" + row["AllocatedTo"].ToString().Trim() + "' AND AllocatedToDeliveryOwner = '" + row["AllocatedToDeliveryOwner"].ToString().Trim() + "' "); string Email_AllocatedTo = row["Email_AllocatedTo"].ToString(); string Email_AllocatedToDeliveryOwner = row["Email_AllocatedToDeliveryOwner"].ToString(); if (!string.IsNullOrEmpty(Email_AllocatedTo) || !string.IsNullOrEmpty(Email_AllocatedToDeliveryOwner)) strmailto = Email_AllocatedTo + "," + Email_AllocatedToDeliveryOwner; else { strmailto = strmailcc; } }
приведенный выше код работает, если оба allocatedto и allocateddeliveryowner присутствуют (возвращение соответствующие счета-фактуры(записи) в foundRows'), если любой из столбцов имеет значение null, возвращается ноль счета-фактуры(записи) в foundRows'
так что моя проблема здесь, я хочу, чтобы извлечь все связанные счета-фактуры на основе allocatedto и столбцов allocatedtodeliveryowner
Что я уже пробовал:
пример табличных данных:
InvoiceNo AllocatedTo AllocatedToDeliveryOwner Email_AllocatedTo Email_AllocatedToDeliveryOwner 0121203 8345 15387 kar@u.com na.buur@u.com 1103438 9999234 NULL who@u.com NULL 0221807 8021 NULL anna@u.com NULL