C# 将列添加到gridview

C# 将列添加到gridview,c#,asp.net,gridview,webforms,C#,Asp.net,Gridview,Webforms,我目前有一个gridview,它已经设置好并且工作正常,但是我遇到了一点问题。我的网格的数据源是从一个DB表设置的,表中的一列是另一个表的数字ID。我需要显示另一个表的描述列,而不是在网格中显示这个数字ID。我是否可以在当前gridview中添加一个额外的列用于显示目的?您可以使用数据集并将此数据集绑定到gridview。 使用数据集,您可以添加行、列。下面的示例很好地将行/列添加到网格视图中。您还可以遵循相同的示例进行一些调整。 将AutoGenerateColumns设置为false,并定义

我目前有一个gridview,它已经设置好并且工作正常,但是我遇到了一点问题。我的网格的数据源是从一个DB表设置的,表中的一列是另一个表的数字ID。我需要显示另一个表的描述列,而不是在网格中显示这个数字ID。我是否可以在当前gridview中添加一个额外的列用于显示目的?

您可以使用数据集并将此数据集绑定到gridview。 使用数据集,您可以添加行、列。下面的示例很好地将行/列添加到网格视图中。您还可以遵循相同的示例进行一些调整。

将AutoGenerateColumns设置为false,并定义要显示的列:

                <asp:GridView ID="GridView1" runat="server" CellPadding="4" CellSpacing="0" AutoGenerateColumns="false" Width="100%">
                    <RowStyle BackColor="#ffffff" />                            
                    <AlternatingRowStyle BackColor="#f5f5dc" />
                    <HeaderStyle BackColor="Beige" ForeColor="#333333" Font-Bold="true" Height="25px" />                        
                    <Columns>
                        </asp:TemplateField>                                                            
                        <asp:TemplateField HeaderText="Address">
                            <ItemTemplate>
                                <%# Eval("Address") %>
                            </ItemTemplate>
                        </asp:TemplateField>
                   </Columns>
             </asp:GridView>


是的,您可以通过在ID字段上使用模板而不是创建新字段来完成此操作。通过这种方式,您可以自定义现有列的格式

应在3个位置进行更改:

  • datasource
    应该将
    desc
    列带回来。在数据库中进行连接并立即将其全部恢复,这样前端就不需要进行大量的调用

  • 在显示时,您可以将
    id
    列设置为不可见。这可以在代码隐藏或aspx上完成

  • 在编辑时,如果它是基于查找表的值,则需要创建一个下拉列表。如果需要编辑,您可以查询更多信息,如果不需要,前两点应满足您的需要


  • 你能?对你应该吗?否。您如何在数据源中填充数据?数据源仍然需要为新列提供一个描述,或者在代码中使用一组逻辑来尝试找出谁知道有多少个数字的描述。如果可能,最好只将其添加到数据源中。