AngleSharp by Florian Rappl

<PackageReference Include="AngleSharp" Version="0.7.0" />

.NET API 997,888 bytes

 HTMLTableRowElement

Represents the HTML tr element.
using AngleSharp.DOM.Collections; using AngleSharp.DOM.Css; using AngleSharp.Extensions; using AngleSharp.Html; namespace AngleSharp.DOM.Html { internal sealed class HTMLTableRowElement : HTMLElement, IHtmlTableRowElement, IHtmlElement, IElement, INode, IEventTarget, IParentNode, IChildNode, INonDocumentTypeChildNode, IElementCssInlineStyle { private readonly HtmlCollection<HTMLTableCellElement> _cells; public HorizontalAlignment Align { get { return GetAttribute(AttributeNames.Align).ToEnum(HorizontalAlignment.Left); } set { SetAttribute(AttributeNames.Align, value.ToString()); } } public AngleSharp.DOM.Css.VerticalAlignment VAlign { get { return GetAttribute(AttributeNames.Valign).ToEnum(AngleSharp.DOM.Css.VerticalAlignment.Middle); } set { SetAttribute(AttributeNames.Valign, value.ToString()); } } public string BgColor { get { return GetAttribute(AttributeNames.BgColor); } set { SetAttribute(AttributeNames.BgColor, value); } } public IHtmlCollection Cells => _cells; public int Index { get { IElement parentElement = base.ParentElement; while (parentElement != null && !(parentElement is HTMLTableElement)) { parentElement = parentElement.ParentElement; } IHtmlTableElement htmlTableElement = parentElement as IHtmlTableElement; if (htmlTableElement != null) return htmlTableElement.Rows.Index(this); return 0; } } public int IndexInSection { get { IElement parentElement = base.ParentElement; while (parentElement != null && !(parentElement is IHtmlTableSectionElement)) { parentElement = parentElement.ParentElement; } IHtmlTableSectionElement htmlTableSectionElement = parentElement as IHtmlTableSectionElement; if (htmlTableSectionElement != null) return htmlTableSectionElement.Rows.Index(this); return 0; } } public HTMLTableRowElement() : base(Tags.Tr, NodeFlags.Special | NodeFlags.ImplicitelyClosed) { _cells = new HtmlCollection<HTMLTableCellElement>(this, true, null); } public IHtmlElement InsertCellAt(int index = -1) { HTMLTableCellElement hTMLTableCellElement = _cells[index]; HTMLTableCellElement hTMLTableCellElement2 = base.Owner.CreateElement(Tags.Td) as HTMLTableCellElement; if (hTMLTableCellElement != null) InsertBefore(hTMLTableCellElement2, hTMLTableCellElement); else AppendChild(hTMLTableCellElement2); return hTMLTableCellElement2; } public void RemoveCellAt(int index) { if (index == -1) index = _cells.Length - 1; _cells[index]?.Remove(); } } }