ListControl.AppendDataBoundItems Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Veri bağlamadan önce liste öğelerinin temizlenip temizlenmediğini belirten bir değer alır veya ayarlar.
public:
virtual property bool AppendDataBoundItems { bool get(); void set(bool value); };
[System.Web.UI.Themeable(false)]
public virtual bool AppendDataBoundItems { get; set; }
[<System.Web.UI.Themeable(false)>]
member this.AppendDataBoundItems : bool with get, set
Public Overridable Property AppendDataBoundItems As Boolean
Özellik Değeri
true
veri bağlamadan önce liste öğeleri temizlenmemişse; aksi takdirde, false
veri bağlama gerçekleştirilmeden önce öğe koleksiyonu temizlenirse. Varsayılan değer: false
.
- Öznitelikler
Örnekler
Aşağıdaki kod örneği, hem veriye bağlı öğelerin hem de bir denetime veriye bağlı ListBox olmayan öğelerin nasıl eklendiğini gösterir.
Load için durumunda, koleksiyonuna PageItems bir öğe eklenir ve AppendDataBoundItems özelliği olarak true
ayarlanır. Ardından, ListBox denetim bir DataTable denetime bağlıdır. Sonuçta elde edilen ListBox denetim hem veriye bağlı öğeleri hem de tek tek eklenen öğeyi içerir.
<%@ 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>
Açıklamalar
özelliği, AppendDataBoundItems veri bağlama gerçekleşmeden önce nesneye ListControl öğe eklemenize olanak tanır. Veri bağlamadan sonra, items koleksiyonu hem veri kaynağındaki öğeleri hem de daha önce eklenen öğeleri içerir.
Bu özelliğin değeri görünüm durumunda depolanır.
Bu özellik temalar veya stil sayfası temaları tarafından ayarlanamaz. Daha fazla bilgi için bkz ThemeableAttribute . temalar ve dış görünümler ASP.NET.