ListControl.AppendDataBoundItems 属性

定义

获取或设置一个值,该值指示是否在绑定数据之前清除列表项。Gets or sets a value that indicates whether list items are cleared before data binding.

public:
 virtual property bool AppendDataBoundItems { bool get(); void set(bool value); };
[System.Web.UI.Themeable(false)]
public virtual bool AppendDataBoundItems { get; set; }
member this.AppendDataBoundItems : bool with get, set
Public Overridable Property AppendDataBoundItems As Boolean

属性值

如果不在绑定数据之前清除列表项,则为 true;如果在执行数据绑定之前清除项集合,则为 falsetrue if list items are not cleared before data binding; otherwise, false, if the items collection is cleared before data binding is performed. 默认值为 falseThe default is false.

属性

示例

下面的代码示例演示如何在ListBox控件中包含数据绑定项和未绑定数据的项。The following code example demonstrates how to include both data-bound items and items that are not data-bound in a ListBox control. Items true AppendDataBoundItems在的Page事件中,将一个项添加到集合,并将属性设置为。 LoadIn the Load event for the Page, one item is added to the Items collection and the AppendDataBoundItems property is set to true. 然后,该ListBox控件绑定DataTable到控件。Then, the ListBox control is bound to a DataTable control. 生成ListBox的控件包含数据绑定项和单独添加的项。The resulting ListBox control contains both the data-bound items and the item that was added individually.

<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
 <script language="c#" runat="server">
 
    ICollection CreateDataSource() {
       DataTable dt = new DataTable();
       DataRow dr;
 
       dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
       dt.Columns.Add(new DataColumn("StringValue", typeof(string)));
       dt.Columns.Add(new DataColumn("DateTimeValue", typeof(DateTime)));
       dt.Columns.Add(new DataColumn("BoolValue", typeof(bool)));
       dt.Columns.Add(new DataColumn("CurrencyValue", typeof(double)));
 
       for (int i = 0; i < 9; i++) {
          dr = dt.NewRow();
 
          dr[0] = i;
          dr[1] = "Item " + i.ToString();
          dr[2] = DateTime.Now;
          dr[3] = (i % 2 != 0) ? true : false;
          dr[4] = 1.23 * (i+1);
 
          dt.Rows.Add(dr);
       }
 
       DataView dv = new DataView(dt);
       return dv;
    }
 
    void Page_Load(Object sender, EventArgs e) {
       if (!IsPostBack) {
          RadioButtonList1.Items.Add("Non-databound item.");
          RadioButtonList1.AppendDataBoundItems = true;
          RadioButtonList1.DataSource = CreateDataSource();
          RadioButtonList1.DataTextField="StringValue";
          RadioButtonList1.DataValueField="CurrencyValue";
          RadioButtonList1.DataBind();
       }
    }
 
    void Index_Changed(Object sender, EventArgs e) {
 
       Label1.Text = "You selected " + RadioButtonList1.SelectedItem.Text +
                     " with a value of $" + RadioButtonList1.SelectedItem.Value +
                     ".";
 
    }
 
 </script>
 
 <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
 
    <form id="form1" runat="server">
 
       <asp:RadioButtonList id="RadioButtonList1" 
            OnSelectedIndexChanged="Index_Changed"
            AutoPostBack="true"
            runat="server"/>
 
       <br />
 
       <asp:Label id="Label1" runat="server"/>
 
    </form>
 
 </body>
 </html>
    
<%@ Page Language="VB" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
 <script language="vb" runat="server">

    Function CreateDataSource() As ICollection
        Dim dt As New DataTable()
        Dim dr As DataRow
        
        dt.Columns.Add(New DataColumn("IntegerValue", GetType(Int32)))
        dt.Columns.Add(New DataColumn("StringValue", GetType(String)))
        dt.Columns.Add(New DataColumn("DateTimeValue", GetType(DateTime)))
        dt.Columns.Add(New DataColumn("BoolValue", GetType(Boolean)))
        dt.Columns.Add(New DataColumn("CurrencyValue", GetType(Double)))
        
        Dim i As Integer
        For i = 0 To 8
            dr = dt.NewRow()
            
            dr(0) = i
            dr(1) = "Item " + i.ToString()
            dr(2) = DateTime.Now
            If (i Mod 2) <> 0 Then
                dr(3) = True
            Else
                dr(3) = False
            End If
            dr(4) = 1.23 *(i + 1)
            
            dt.Rows.Add(dr)
        Next i
        
        Dim dv As New DataView(dt)
        Return dv
    End Function

    Sub Page_Load(sender As Object, e As EventArgs)
         If Not IsPostBack Then
             RadioButtonList1.Items.Add("Non-databound item.")
             RadioButtonList1.AppendDataBoundItems = True
             RadioButtonList1.DataSource = CreateDataSource()
             RadioButtonList1.DataTextField = "StringValue"
             RadioButtonList1.DataValueField = "CurrencyValue"
             RadioButtonList1.DataBind()
         End If
    End Sub

    Sub Index_Changed(sender As Object, e As EventArgs)        
        Label1.Text = "You selected " & RadioButtonList1.SelectedItem.Text & _
            " with a value of : " & RadioButtonList1.SelectedItem.Value & "."
    End Sub
 
 </script>
 
 <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
 
    <form id="form1" runat="server">
 
       <asp:RadioButtonList id="RadioButtonList1" 
            OnSelectedIndexChanged="Index_Changed"
            AutoPostBack="true"
            runat="server"/>
 
       <br />
 
       <asp:Label id="Label1" runat="server"/>
 
    </form>
 
 </body>
 </html>
    

注解

属性允许您在数据绑定发生之前向ListControl对象中添加项。 AppendDataBoundItemsThe AppendDataBoundItems property allows you to add items to the ListControl object before data binding occurs. 数据绑定后,items 集合包含来自数据源的项和以前添加的项。After data binding, the items collection contains both the items from the data source and the previously added items.

此属性的值存储在视图状态中。The value of this property is stored in view state.

无法通过主题或样式表主题设置此属性。This property cannot be set by themes or style sheet themes. 有关详细信息,请ThemeableAttribute参阅和ASP.NET 主题和外观For more information, see ThemeableAttribute and ASP.NET Themes and Skins.

适用于

另请参阅