首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DataTable DataColumn ColumnName未显示

DataTable DataColumn ColumnName未显示
EN

Stack Overflow用户
提问于 2016-08-05 00:58:31
回答 1查看 760关注 0票数 1

我是VSTO的新手,遇到了一个我似乎无法解决的问题。我试图在Excel2013中显示一个简单的表格,除了列显示名称显示为"Column1,Column2,Column3“之外,所有内容都已填充。

下面是我的代码:

代码语言:javascript
复制
        var worksheet = Globals.Sheet1;

        worksheet.Cells.Clear();

        var table = new DataTable("Users");

        // Set Columns
        var columns = new List<DataColumn>
        {
            new DataColumn("Staged") { ColumnName = "Staged", Caption = "Staged"},
            new DataColumn("FirstName") { ColumnName = "First Name", Caption = "First Name" },
            new DataColumn("LastName") { ColumnName = "Last Name", Caption = "Last Name"}
        };

        foreach (var column in columns)
        {
            table.Columns.Add(column);
        }


        var lastFilledRow = 1;

        // Populate data
        for (var i = 1; i < 11; i++)
        {
            var row = table.NewRow();
            row[table.Columns[0]] = "";
            row[table.Columns[1]] = "Joesph " + i;
            row[table.Columns[2]] = "Bellow " + i;

            table.Rows.Add(row);
            lastFilledRow++;
        }
        var lastCell = "C" + lastFilledRow;

        worksheet.Controls.Remove("userList");
        var list = worksheet.Controls.AddListObject(worksheet.Range["A1", lastCell], "userList");

        list.SetDataBinding(table);

在调试模式下逐步执行代码时,我始终看不到任何设置为"Column1“的属性,但它们被设置为所提供的值。我知道这些是ColumnName的默认值。

我的问题是,当我明确地设置ColumnNames的值时,为什么ColumnName在excel中打印为Column1,Column2,Column3?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-05 12:08:05

您需要显式地命名这些列。在var list = ...之后添加以下内容:

代码语言:javascript
复制
list.ListColumns[1].Name = "Staged";
list.ListColumns[2].Name = "First Name";
list.ListColumns[3].Name = "Last Name";
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38773323

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档