Good catch @bordway.
The publisher subscribe doesn’t like not having a row. I think embedded dashboards have a similar issue.
This cleans it up. I added an EpiViewNotification to look for a change of the order number and applying a second filter to the dataview. This also clears the view when clear is pressed.
int currentOrder = 0;
private void edvOrderHed_EpiViewNotification(EpiDataView view, EpiNotifyArgs args)
{
// ** Argument Properties and Uses **
// view.dataView[args.Row]["FieldName"]
// args.Row, args.Column, args.Sender, args.NotifyType
// NotifyType.Initialize, NotifyType.AddRow, NotifyType.DeleteRow, NotifyType.InitLastView, NotifyType.InitAndResetTreeNodes
if ((args.NotifyType == EpiTransaction.NotifyType.Initialize))
{
if ((args.Row > -1))
{
if (currentOrder != (int)view.dataView[args.Row]["OrderNum"])
{
currentOrder = (int)view.dataView[args.Row]["OrderNum"];
}
}
else
{
currentOrder = 0;
}
orderLineOnHandBAQDV.dataView.RowFilter = String.Format("OrderDtl_OrderNum = '{0}'", currentOrder);
}
}