Gets or sets a value that indicates whether list items are cleared before data binding.
Assembly: System.Web (in System.Web.dll)
<ThemeableAttribute(False)> _ Public Overridable Property AppendDataBoundItems As Boolean
[ThemeableAttribute(false)] public virtual bool AppendDataBoundItems { get; set; }
[ThemeableAttribute(false)] public: virtual property bool AppendDataBoundItems { bool get (); void set (bool value); }
[<ThemeableAttribute(false)>] abstract AppendDataBoundItems : bool with get, set [<ThemeableAttribute(false)>] override AppendDataBoundItems : bool with get, set
<asp:ListControl AppendDataBoundItems="True|False" />
Property Value
Type: System.Booleantrue if list items are not cleared before data binding; otherwise, false, if the items collection is cleared before data binding is performed. The default is false.
The AppendDataBoundItems property allows you to add items to the ListControl object before data binding occurs. 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. For more information, see ThemeableAttribute and ASP.NET Themes and Skins.
The following code example demonstrates how to include both data-bound items and items that are not data-bound in a ListBox control. In the Load event for the Page, one item is added to the Items collection and the AppendDataBoundItems property is set to true. Then, the ListBox control is bound to a DataTable control. The resulting ListBox control contains both the data-bound items and the item that was added individually.
<%@ 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>
<%@ 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>
.NET Framework
Supported in: 4, 3.5, 3.0, 2.0Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.