2011-08-08 82 views
0

我目前有一个gridview设置和正常工作,但我遇到了一点问题。我的网格的数据源是从数据库表中设置的,表中的一列是另一个表的数字ID。我不需要在网格中显示此数字ID,而需要显示另一个表中的描述列。我可以添加一个额外的列到我目前的gridview只是为了显示目的?将列添加到gridview

+0

是的,你可以这样做:) – Icarus

+0

你可以吗?是。你应该?不是。你如何填充数据源中的数据? – Nikki9696

回答

1

是的,你可以用你的ID字段的模板,而不是创建一个新的领域做到这一点。 This link has some examples.这样您可以自定义格式化现有的列。

0

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

   <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> 
+1

数据源仍然必须有一段描述,以便从新列或者代码中的一堆逻辑中尝试找出谁知道有多少数字的描述。如果可能,最好将其添加到数据源中。 – Nikki9696

0

的变化应在3个地点进行:

  1. datasource应该有desc柱,它带了回来。在数据库中进行连接并将其全部恢复,这样前端就不需要进行疯狂的通话。您可以将id列设置为不可见。这可以在后面的代码或aspx上完成。

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