【问题标题】:Binding Generic List Array to GridView将通用列表数组绑定到 GridView
【发布时间】:2009-03-06 16:32:26
【问题描述】:

您好,我有一个返回“问题”数组的列表。我的问题是如何将其绑定到网格视图?当我尝试调用 Question.Ordinal 时,我发现它在数据源中不存在。我正在使用以下代码:

GridView1.DataSource = myList.GetQ();
GrdiView1.DataBind();

myList.GetQ() 返回一个 List,它是一个“问题”数组。

当我将 DataField 列设置为“!”我得到了对象问题。我的问题是如何获得 objects 属性?我试过“!.Ordinal”不起作用。我正在阅读这篇文章以供参考,here,非常感谢任何帮助,谢谢。

【问题讨论】:

    标签: c# asp.net .net list gridview


    【解决方案1】:

    尝试使用以下语法:

    <%# ((MyObject)Container.DataItem).MyField %>
    

    【讨论】:

    • 我收到一个解析错误:只有具有 DataBinding 事件的对象才支持数据绑定表达式。 System.Web.UI.WebControls.BoundField 没有 DataBinding 事件。
    【解决方案2】:

    直接将其设置为 Ordinal,作为您刚刚链接到的帖子中的第一个示例:

    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
    <Columns>
       <asp:BoundField HeaderText="ID" DataField="CustId" />
       <asp:BoundField HeaderText="Name" DataField="Name" />
       <asp:BoundField HeaderText="City" DataField="City" />
    </Columns>
    </asp:GridView>
    

    说:

    <asp:BoundField HeaderText="A Header" DataField="APropertyOfQuestion" />
    

    【讨论】:

      【解决方案3】:

      您必须将类的属性成员定义为属性,即

      public string ProductName
      {
          get
          {
              return _productName;
          }
          set { }
      
      }
      

      或VB

      公共属性 ProductName() 作为字符串 设置..

      得到...

      结束属性

      重要:是否需要定义get方法

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-07-29
        • 1970-01-01
        • 2014-11-28
        相关资源
        最近更新 更多