首页 > 解决方案 > 使用 C# 根据标题值合并 Gridview 的多个列

问题描述

我有一个看起来像这个.

我正在尝试根据其标题值将 gridview 中的多个列组合成单个列。

我正在尝试将 Street Name、City、State、Zipcode 组合在 Address 的一个值下,以便将值作为单列Address获得。在上面带有 ID、Person 和 Address 的示例中,这会将我的总列数减少到 3。我怎么能在 C# 中做到这一点?

我没有使用 BoundField/Template 字段,而是从 excel 文件中读取数据并加载它的数据并将其绑定到 gridview 中,所以我不知道每次运行可能有多少列。我看到了许多侧重于 Boundfield 数据并使用 DataBinder.Eval() 方法来完成此任务的教程,但这对我不起作用。

我的 gridview 看起来像这样:

<asp:GridView ID="GridView1" runat="server" HorizontalAlign="Center"> </asp:GridView>

我后面的代码基本上是使用 FileUpload Control 上传 excel 文件,建立 OleDBConnection,创建一个新的 DataTable 并将所有内容绑定到 GridView1。

那么如何使用 C# 将它们放在单个列下?任何想法/帮助将不胜感激。

PS:gridview的最后一行和倒数第二行的“...”值是其他值。这只是为了表明可能有数百个值。

标签: c#asp.netgridviewmerge

解决方案


您可以使用String.concat方法将 4 列连接到 1 列示例:

ID:1 Adress:111 east st ; Loneville ;TX;77011

在这我已经习惯;了溢出,你可以用其他信号替换它们。当你想从这个列中请求数据时,使用这个代码(这只是我的想法):

string[] adress=person_datagrid.Rows[adress].Cells[number cell].Value.ToString().Split(';');
 string street_name=adress[0];
 string city=adress[1];
 string state=adress[2];
 string Zipcode=adress[3];

推荐阅读