예제 #1
0
        private void RenderColumnHeaders()
        {
            // Create a row for the column headers
            TableRowElement header = _table.InsertRow();

            header.ID = "headerRow";

            // Create a cell for the first column where we will also add row headers
            TableCellElement blankCell = header.InsertCell(0);

            blankCell.ID = "blankCell";

            // Create 26 Column Headers and name them with the letters of the English Alphabets
            // Iterating through the ASCII indexes for A-Z
            for (int i = 65; i < 91; i++)
            {
                // Create a cell element in the header row starting at index 1
                TableCellElement cell = header.InsertCell(i - 64);

                // Set the cell id to the letter corresponding to the ASCII index
                cell.ID = string.FromCharCode(i);

                // Set the value of the cell toe the letter corresponding to the ASCII index
                cell.TextContent = string.FromCharCode(i);
            }
        }
예제 #2
0
        /// <summary>
        /// Create rows in the spreadsheet
        /// </summary>
        /// <param name="rowCount">Number of rows to create</param>
        private void RenderRows(int rowCount)
        {
            // We're iterating from row index 1 because we want the title of the rows
            // to be equal to the index. In addition, row 0 is the column header row
            for (int rowIndex = 1; rowIndex <= rowCount; rowIndex++)
            {
                // Create a new row in the table
                TableRowElement row = _table.InsertRow(rowIndex);

                // Create a row header cell and set its id and value to the row index
                TableCellElement cell = row.InsertCell(0);
                cell.ID          = rowIndex.ToString();
                cell.TextContent = rowIndex.ToString();

                // Create cells for each column in the spreadsheet from A to Z
                for (int cellIndex = 65; cellIndex < 91; cellIndex++)
                {
                    // Insert cells at the corresponding column index (starting from column 1)
                    cell = row.InsertCell(cellIndex - 64);

                    // Create a text input element inside the cell
                    InputElement input = (InputElement)Document.CreateElement("input");
                    input.Type = "text";

                    // Set the ID of the element to the Column Letter and Row Number like A1, B1, etc.
                    input.ID = string.FromCharCode(cellIndex) + rowIndex;

                    // Add the input element as a child of the cell
                    cell.AppendChild(input);

                    // Create and attach spreadsheet events to this input element
                    AttachEvents(input);
                }
            }
        }
예제 #3
0
 public TableCellElement insertCell(int index)
 {
     return(TableCellElement.FromObj(this.Invoke("insertCell", index)));
 }
예제 #4
0
        public static new Element FromObj(object instance)
        {
            if (instance == null)
            {
                return(null);
            }
            try{
                string tagUrn  = (string)GetProperty(instance, "tagUrn");
                string tagName = (string)GetProperty(instance, "tagName");
                if (tagUrn == null || tagUrn == "")
                {
                    switch (tagName.ToLower())
                    {
                    case "!":                       return(CommentElement.FromObj(instance));

                    case "a":                       return(AElement.FromObj(instance));

                    case "area":            return(AreaElement.FromObj(instance));

                    case "base":            return(BaseElement.FromObj(instance));

                    case "basefont":        return(BaseFontElement.FromObj(instance));

                    case "bgsound":         return(BgsoundElement.FromObj(instance));

                    case "address":
                    case "pre":
                    case "center":
                    case "listing":
                    case "xmp":
                    case "plaintext":
                    case "blockquote":      return(BlockElement.FromObj(instance));

                    case "body":            return(BodyElement.FromObj(instance));

                    case "br":                      return(BrElement.FromObj(instance));

                    case "button":          return(ButtonElement.FromObj(instance));

                    case "dd":                      return(DdElement.FromObj(instance));

                    case "div":                     return(DivElement.FromObj(instance));

                    case "dl":                      return(DlElement.FromObj(instance));

                    case "dt":                      return(DtElement.FromObj(instance));

                    case "embed":           return(EmbedElement.FromObj(instance));

                    case "fieldset":        return(FieldsetElement.FromObj(instance));

                    case "font":            return(FontElement.FromObj(instance));

                    case "form":            return(FormElement.FromObj(instance));

                    case "frame":           return(FrameElement.FromObj(instance));

                    case "frameset":        return(FramesetElement.FromObj(instance));

                    case "head":            return(HeadElement.FromObj(instance));

                    case "h1":
                    case "h2":
                    case "h3":
                    case "h4":
                    case "h5":
                    case "h6":
                        return(HnElement.FromObj(instance));

                    case "hr":                      return(HrElement.FromObj(instance));

                    case "html":            return(HtmlElement.FromObj(instance));

                    case "iframe":          return(IframeElement.FromObj(instance));

                    case "img":                     return(ImgElement.FromObj(instance));

                    case "input":           return(InputElement.FromObj(instance));

                    case "isindex":         return(IsindexElement.FromObj(instance));

                    case "legend":          return(LegendElement.FromObj(instance));

                    case "label":           return(LabelElement.FromObj(instance));

                    case "li":                      return(LiElement.FromObj(instance));

                    case "link":            return(LinkElement.FromObj(instance));

                    case "map":                     return(MapElement.FromObj(instance));

                    case "marquee":         return(MarqueeElement.FromObj(instance));

                    case "meta":            return(MetaElement.FromObj(instance));

                    case "nextid":          return(NextidElement.FromObj(instance));

                    case "noembed":
                    case "noframes":
                    case "nolayer":
                    case "noscript":        return(NoshowElement.FromObj(instance));

                    case "applet":
                    case "object":          return(ObjectElement.FromObj(instance));

                    case "ol":                      return(OlElement.FromObj(instance));

                    case "optgroup":
                    case "option":          return(OptionElement.FromObj(instance));

                    case "p":                       return(PElement.FromObj(instance));

                    case "param":           return(ParamElement.FromObj(instance));

                    case "i":
                    case "u":
                    case "b":
                    case "q":
                    case "s":
                    case "strong":
                    case "del":
                    case "strike":
                    case "em":
                    case "small":
                    case "big":
                    case "ruby":
                    case "rp":
                    case "sub":
                    case "sup":
                    case "acronym":
                    case "bdo":
                    case "cite":
                    case "dfn":
                    case "ins":
                    case "code":
                    case "kbd":
                    case "samp":
                    case "var":
                    case "nobr":            return(PhraseElement.FromObj(instance));

                    case "script":          return(ScriptElement.FromObj(instance));

                    case "select":          return(SelectElement.FromObj(instance));

                    case "span":            return(SpanElement.FromObj(instance));

                    case "style":           return(StyleElement.FromObj(instance));

                    case "caption":         return(CaptionElement.FromObj(instance));

                    case "td":
                    case "th":                      return(TableCellElement.FromObj(instance));

                    case "table":           return(TableElement.FromObj(instance));

                    case "colgroup":
                    case "col":                     return(ColElement.FromObj(instance));

                    case "tr":                      return(TrElement.FromObj(instance));

                    case "thead":
                    case "tbody":
                    case "tfoot":           return(TableSectionElement.FromObj(instance));

                    case "textarea":        return(TextAreaElement.FromObj(instance));

                    case "wbr": return(TextElement.FromObj(instance));

                    case "title":           return(TitleElement.FromObj(instance));

                    case "dir":
                    case "menu":
                    case "ul":                      return(UlElement.FromObj(instance));
                        // optionbutton ?
                        // spanflow ?
                        // default:			return UnknownElement.FromObj(instance);
                    }
                }
            }catch {
                // IHTMLElement でない可能性
            }

            return(new Element(instance));
        }