Novacode.Table.DeleteAndShiftCellsLeft C# (CSharp) Метод

DeleteAndShiftCellsLeft() публичный Метод

Deletes a cell in a row
public DeleteAndShiftCellsLeft ( int rowIndex, int celIndex ) : void
rowIndex int index of the row you want to remove the cell
celIndex int index of the cell you want to remove
Результат void
        public void DeleteAndShiftCellsLeft(int rowIndex, int celIndex)
        {
            var trPr = Rows[rowIndex].Xml.Element(XName.Get("trPr", DocX.w.NamespaceName));
            if (trPr != null)
            {
                var gridAfter = trPr.Element(XName.Get("gridAfter", DocX.w.NamespaceName));
                if (gridAfter != null)
                {
                    var val = gridAfter.Attribute(XName.Get("val", DocX.w.NamespaceName));
                    val.Value = (int.Parse(val.Value) + 1).ToString();
                }
                else
                {
                    gridAfter.SetAttributeValue("val", 1);
                }
            }
            else
            {
                XElement trPrXElement = new XElement(XName.Get("trPr", DocX.w.NamespaceName));
                XElement gridAfterElement = new XElement(XName.Get("gridAfter", DocX.w.NamespaceName));
                XAttribute gridAfterValAttribute = new XAttribute(XName.Get("val", DocX.w.NamespaceName), 1);
                gridAfterElement.Add(gridAfterValAttribute);
                trPrXElement.Add(gridAfterElement);
                Rows[rowIndex].Xml.AddFirst(trPrXElement);
            }
            var columnCount = this.ColumnCount;
            if (celIndex <= this.ColumnCount && this.Rows[rowIndex].ColumnCount <= this.ColumnCount)
            {
                Rows[rowIndex].Cells[celIndex].Xml.Remove();
            }
        }