Я делаю запрос ad-hoc для получения набора идентификаторов, каждый из которых переходит к запросу адаптера таблицы, заполняя строки.Как правильно заполнить DataGridView строками из многострочных запросов адаптера таблицы?
Однако, я не могу найти другой способ очистки, кроме использования свойства ClearBeforeFill на адаптере таблицы.
Все это соответствует коду, который работает, но я чувствую, что это хак.
Кто-нибудь знает правильный/лучший способ сделать это? (Примечание: я знаю встроенный SQL не является идеальным)
var db = new Data.PRDataDataContext();
verifiedLineItemsTableAdapter.ClearBeforeFill = true;
bool flag = true;
foreach (var affid in db.ExecuteQuery<int>(
@"
SELECT Item.affid
FROM dbo.Item INNER JOIN
dbo.Affiliate ON dbo.Item.affid = dbo.Affiliate.affid
WHERE Affiliate.name={0}
UNION
SELECT affid
FROM dbo.Publisher
WHERE name={0}"
, name))
{
Console.WriteLine("got " + affid);
verifiedLineItemsTableAdapter.FillByAffId(
publisherReportDataSet1.VerifiedLineItems, affid);
if (flag)
{
verifiedLineItemsTableAdapter.ClearBeforeFill = false;
flag = false;
}
}
спасибо, это простое и работоспособное решение. –