【问题标题】:Possible to bind an anonymous list<> to a gridview?可以将匿名列表 <> 绑定到网格视图吗?
【发布时间】:2010-02-18 04:52:22
【问题描述】:

我在这里创建一个匿名列表:

var pip = new { MCP = "", Measure = "", Year = "", url1 = "", url2 = "", url3 = "" };
var PipList = (new[] { pip }).ToList();

我遍历我的代码并加载包含项目的列表并将其绑定到我的网格视图:

PipList.RemoveAt(0);
gvReport.DataSource = PipList;
gvReport.DataBind();

当我调试它时,我看到 List 在我绑定它之前就有项目,但是当我在绑定之后查看 gridview 时它是空的。不能这样做吗?

我也尝试过定义一个类而不使用匿名对象,但它也不起作用。

如果有帮助,这就是网格视图

<asp:GridView ID="gvReport" Width="750" AutoGenerateColumns="false" runat="server"
                            AllowSorting="false" AllowPaging="false" CellPadding="4" GridLines="Both"
                            CssClass="gv_Style" Visible="false">
                            <HeaderStyle BackColor="#000000" ForeColor="White" />
                            <AlternatingRowStyle CssClass="gv_AlternatingRow" />
                            <RowStyle CssClass="gv_Row" />
                            <PagerStyle CssClass="gv_Pager" />
                            <Columns>
                                <asp:BoundField HeaderStyle-HorizontalAlign="Center" DataField="MCP" HeaderText="MCP" />
                                <asp:BoundField HeaderStyle-HorizontalAlign="Center" HeaderText="PIP Measure" DataField="Measure" />
                                <asp:BoundField HeaderStyle-HorizontalAlign="Center" HeaderText="Start Year" DataField="Year"  />
                                <asp:BoundField HeaderStyle-HorizontalAlign="Center" HeaderText="Summary" DataField="url1" htmlencode="false" />
                                <asp:BoundField HeaderStyle-HorizontalAlign="Center" HeaderText="Detail" DataField="url2" htmlencode="false" />
                                <asp:BoundField HeaderStyle-HorizontalAlign="Center" DataField="url3" htmlencode="false" HeaderText="Yearly Summary"  />
                            </Columns>
                        </asp:GridView>

【问题讨论】:

    标签: asp.net generics gridview anonymous-types


    【解决方案1】:

    您实际上可以将匿名或已定义的类列表绑定到 GridView。从您的代码来看,它不起作用可能有两个原因。

    1. 您创建了一个匿名对象列表,其中包含一个项目,然后在您的下一个代码片段中,您使用 PipList.RemoveAt(0); 将其删除,因此您的列表为空。
    2. 如果您在PipList.RemoveAt(0); 语句之后添加了其他项目,您是否将 GridView 的 Visible 属性设置为 true。在您的代码中,它设置为 false 意味着它不可见。

    希望对您有所帮助。

    矩阵

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-13
      • 2016-06-05
      • 1970-01-01
      相关资源
      最近更新 更多