/// <summary> /// Browses for children of the element at the current node. /// </summary> protected void Browse(AddressSpaceDataBase.TagsTableRow itemID, OpcDa::BrowseFilters filters) { try { // begin a browse. OpcDa::BrowsePosition position = null; foreach (var element in m_Dictionary.Browse(itemID, filters, out position)) { AddBrowseElement(element); } // loop until all elements have been fetched. while (position != null) { DialogResult result = MessageBox.Show( "More items meeting search criteria exist. Continue browse?", "Browse Items", MessageBoxButtons.YesNo, MessageBoxIcon.Question ); if (result != DialogResult.Yes) { break; } // fetch next batch of elements, add children. foreach (var element in m_Dictionary.BrowseNext(ref position)) { AddBrowseElement(element); } } } catch (Exception e) { MessageBox.Show(e.Message); } }
/// <summary> /// Browses for children of the element at the current node. /// </summary> protected void Browse(Opc.ItemIdentifier itemID, OpcDa::BrowseFilters filters) { try { // begin a browse. OpcDa::BrowsePosition position = null; OpcDa.BrowseElement[] children = m_Server.Browse(itemID, filters, out position); if (children == null) { return; } foreach (var element in m_Server.Browse(itemID, filters, out position)) { AddBrowseElement(element); } // loop until all elements have been fetched. while (position != null) { DialogResult result = MessageBox.Show( "More items meeting search criteria exist. Continue browse?", "Browse Items", MessageBoxButtons.YesNo, MessageBoxIcon.Question ); if (result != DialogResult.Yes) { break; } // fetch next batch of elements add children. foreach (OpcDa::BrowseElement element in m_Server.BrowseNext(ref position)) { AddBrowseElement(element); } } } catch (Exception e) { MessageBox.Show(e.Message); } }