System.Xml.DataPointer.MoveTo C# (CSharp) Method

MoveTo() private method

private MoveTo ( XmlNode node, DataColumn column, bool fOnValue ) : void
node XmlNode
column System.Data.DataColumn
fOnValue bool
return void
        private void MoveTo(XmlNode node, DataColumn column, bool fOnValue)
        {
            // You should not move outside of this document
            Debug.Assert(node == _doc || node.OwnerDocument == _doc);

            _node = node;
            _column = column;
            _fOnValue = fOnValue;
            AssertValid();
        }

Same methods

DataPointer::MoveTo ( DataPointer pointer ) : void
DataPointer::MoveTo ( XmlNode node ) : void

Usage Example

示例#1
0
        private XmlNode CloneTreeInternal(DataPointer other)
        {
            Debug.Assert(_ignoreDataSetEvents == true);
            Debug.Assert(_ignoreXmlEvents == true);
            Debug.Assert(IsFoliationEnabled == false);

            // Create the diconnected tree based on the other navigator
            XmlNode newNode = CloneNode(other);

            DataPointer dp = new DataPointer(other);
            try
            {
                dp.AddPointer();
                if (newNode.NodeType == XmlNodeType.Element)
                {
                    int cAttributes = dp.AttributeCount;
                    for (int i = 0; i < cAttributes; i++)
                    {
                        dp.MoveToOwnerElement();
                        if (dp.MoveToAttribute(i))
                        {
                            newNode.Attributes.Append((XmlAttribute)CloneTreeInternal(dp));
                        }
                    }

                    dp.MoveTo(other);
                }

                for (bool fMore = dp.MoveToFirstChild(); fMore; fMore = dp.MoveToNextSibling())
                    newNode.AppendChild(CloneTreeInternal(dp));
            }
            finally
            {
                dp.SetNoLongerUse();
            }

            return newNode;
        }