将列添加到gridview

时间:2011-08-08 20:07:25

标签: c# asp.net gridview webforms

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

4 个答案:

答案 0 :(得分:1)

是的,您可以通过在ID字段上使用模板而不是创建新字段来实现此目的。 This link has some examples.这样您就可以自定义现有列的格式。

答案 1 :(得分:0)

您可以使用数据集并将此数据集绑定到gridview。 使用数据集,您可以添加行,列。下面的示例是一个很好的添加行/列到网格视图。您也可以通过一些调整来遵循相同的示例。 http://www.codeproject.com/KB/aspnet/dynamic_Columns_in_Grid.aspx

答案 2 :(得分:0)

将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>

答案 3 :(得分:0)

应该在3个地点进行更改:

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

  2. 在显示时,您可以将id列设置为不可见。这可以在aspx后面的代码上完成。

  3. 在编辑时,如果它是基于查找表的值,则需要创建下拉列表。如果需要编辑,您可以查询更多信息,如果不需要,最重要的两点可以满足您的需求。