ListView.SelectedValue Ö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.
Denetimdeki seçili öğenin ListView veri anahtarı değerini alır.
public:
property System::Object ^ SelectedValue { System::Object ^ get(); };
[System.ComponentModel.Browsable(false)]
public object SelectedValue { get; }
[<System.ComponentModel.Browsable(false)>]
member this.SelectedValue : obj
Public ReadOnly Property SelectedValue As Object
Özellik Değeri
Denetimdeki ListView seçili öğenin veri anahtarı değeri.
- Öznitelikler
Örnekler
Aşağıdaki örnekte, bir ana/ayrıntı senaryosunda parametre olarak ilk anahtar alanının nasıl kullanılacağı gösterilmektedir. Denetimde ListView bir öğe seçildiğinde, SelectedValue özelliği nesne için ControlParameter olarak PropertyName kullanılır. Bu parametre nesnesi, ikinci ListView denetimin SqlDataSource bağlı olduğu denetim tarafından sırayla kullanılır.
<%@ Page language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void CategoriesListView_OnItemDeleting(object sender, ListViewDeleteEventArgs e)
{
if (SubCategoriesGridView.Rows.Count > 0)
{
MessageLabel.Text = "You cannot delete a category that has sub-categories.";
e.Cancel = true;
}
}
protected void Page_Load()
{
MessageLabel.Text = String.Empty;
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Subcategories List</title>
</head>
<body>
<form id="form1" runat="server">
<b>Categories</b>
<br />
<asp:Label ForeColor="Red" runat="server" ID="MessageLabel" /><br />
<asp:ListView runat="server"
ID="CategoriesListView"
OnItemDeleting="CategoriesListView_OnItemDeleting"
DataSourceID="CategoriesDataSource"
DataKeyNames="ProductCategoryID">
<LayoutTemplate>
<table runat="server" id="tblCategories"
cellspacing="0" cellpadding="1" width="440px" border="1">
<tr id="itemPlaceholder" runat="server"></tr>
</table>
</LayoutTemplate>
<ItemTemplate>
<tr runat="server">
<td>
<asp:Label runat="server" ID="NameLabel" Text='<%#Eval("Name") %>' />
</td>
<td style="width:40px">
<asp:LinkButton runat="server" ID="SelectCategoryButton"
Text="Select" CommandName="Select" />
</td>
</tr>
</ItemTemplate>
<SelectedItemTemplate>
<tr runat="server" style="background-color:#90EE90">
<td>
<asp:Label runat="server" ID="NameLabel" Text='<%#Eval("Name") %>' />
</td>
<td style="width:40px">
<asp:LinkButton runat="server" ID="SelectCategoryButton"
Text="Delete" CommandName="Delete" />
</td>
</tr>
</SelectedItemTemplate>
</asp:ListView>
<br />
<b>Subcategories</b>
<asp:GridView runat="server" ID="SubCategoriesGridView" Width="300px"
DataSourceID="SubCategoriesDataSource" DataKeyNames="ProductSubcategoryID"
AutoGenerateColumns="True" />
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the AdventureWorks sample database. Use an ASP.NET -->
<!-- expression to retrieve the connection string value -->
<!-- from the Web.config file. -->
<asp:SqlDataSource ID="CategoriesDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"
SelectCommand="SELECT [ProductCategoryID], [Name]
FROM Production.ProductCategory">
</asp:SqlDataSource>
<asp:SqlDataSource ID="SubCategoriesDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"
SelectCommand="SELECT [ProductSubcategoryID], [Name]
FROM Production.ProductSubcategory
WHERE ProductCategoryID = @ProductCategoryID
ORDER BY [Name]">
<SelectParameters>
<asp:ControlParameter Name="ProductCategoryID" DefaultValue="0"
ControlID="CategoriesListView" PropertyName="SelectedValue" />
</SelectParameters>
</asp:SqlDataSource>
</form>
</body>
</html>
<%@ Page language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Protected Sub CategoriesListView_OnItemDeleting(sender As Object, e As ListViewDeleteEventArgs)
If SubCategoriesGridView.Rows.Count > 0 Then
MessageLabel.Text = "You cannot delete a category that has sub-categories."
e.Cancel = True
End If
End Sub
Protected Sub Page_Load()
MessageLabel.Text = String.Empty
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Subcategories List</title>
</head>
<body>
<form id="form1" runat="server">
<b>Categories</b>
<br />
<asp:Label ForeColor="Red" runat="server" ID="MessageLabel" /><br />
<asp:ListView runat="server"
ID="CategoriesListView"
OnItemDeleting="CategoriesListView_OnItemDeleting"
DataSourceID="CategoriesDataSource"
DataKeyNames="ProductCategoryID">
<LayoutTemplate>
<table runat="server" id="tblCategories"
cellspacing="0" cellpadding="1" width="440px" border="1">
<tr id="itemPlaceholder" runat="server"></tr>
</table>
</LayoutTemplate>
<ItemTemplate>
<tr runat="server">
<td>
<asp:Label runat="server" ID="NameLabel" Text='<%#Eval("Name") %>' />
</td>
<td style="width:40px">
<asp:LinkButton runat="server" ID="SelectCategoryButton"
Text="Select" CommandName="Select" />
</td>
</tr>
</ItemTemplate>
<SelectedItemTemplate>
<tr runat="server" style="background-color:#90EE90">
<td>
<asp:Label runat="server" ID="NameLabel" Text='<%#Eval("Name") %>' />
</td>
<td style="width:40px">
<asp:LinkButton runat="server" ID="SelectCategoryButton"
Text="Delete" CommandName="Delete" />
</td>
</tr>
</SelectedItemTemplate>
</asp:ListView>
<br />
<b>Subcategories</b>
<asp:GridView runat="server" ID="SubCategoriesGridView" Width="300px"
DataSourceID="SubCategoriesDataSource" DataKeyNames="ProductSubcategoryID"
AutoGenerateColumns="True" />
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the AdventureWorks sample database. Use an ASP.NET -->
<!-- expression to retrieve the connection string value -->
<!-- from the Web.config file. -->
<asp:SqlDataSource ID="CategoriesDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"
SelectCommand="SELECT [ProductCategoryID], [Name]
FROM Production.ProductCategory">
</asp:SqlDataSource>
<asp:SqlDataSource ID="SubCategoriesDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"
SelectCommand="SELECT [ProductSubcategoryID], [Name]
FROM Production.ProductSubcategory
WHERE ProductCategoryID = @ProductCategoryID
ORDER BY [Name]">
<SelectParameters>
<asp:ControlParameter Name="ProductCategoryID" DefaultValue="0"
ControlID="CategoriesListView" PropertyName="SelectedValue" />
</SelectParameters>
</asp:SqlDataSource>
</form>
</body>
</html>
Aşağıdaki örnekte anahtar alanının değerini belirlemek için özelliğinin nasıl kullanılacağı SelectedValue gösterilmektedir.
<%@ Page language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void DepartmentsListView_SelectedIndexChanged(object sender, EventArgs e)
{
MessageLabel.Text = "The key value is " +
DepartmentsListView.SelectedValue.ToString() + ".";
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>ListView SelectedValue Example</title>
<style type="text/css">
.header
{
border: 1px solid #008080;
background-color: #008080;
color: White;
}
.item td { border: 1px solid #008080; }
.selection td
{
border: 1px solid #008080;
background-color: #7FFF00;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<h3>ListView SelectedValue Example</h3>
<asp:ListView runat="server"
ID="DepartmentsListView"
DataSourceID="DepartmentDataSource"
DataKeyNames="DepartmentID"
OnSelectedIndexChanged="DepartmentsListView_SelectedIndexChanged">
<LayoutTemplate>
<b>Department List</b>
<br />
<table width="500px" runat="server" id="tblDepartments">
<tr class="header" runat="server">
<th runat="server"> </th>
<th runat="server">Department Name</th>
<th runat="server">Group Name</th>
</tr>
<tr runat="server" id="itemPlaceholder" />
</table>
</LayoutTemplate>
<ItemTemplate>
<tr class="item" runat="server">
<td>
<asp:LinkButton runat="server"
ID="SelectButton"
Text="Select"
CommandName="Select" />
</td>
<td>
<asp:Label runat="server" ID="NameLabel" Text='<%#Eval("Name") %>' />
</td>
<td>
<asp:Label runat="server" ID="GroupNameLabel" Text='<%#Eval("GroupName") %>' />
</td>
</tr>
</ItemTemplate>
<SelectedItemTemplate>
<tr class="selection" runat="server">
<td> </td>
<td>
<asp:Label runat="server" ID="NameLabel" Text='<%#Eval("Name") %>' />
</td>
<td>
<asp:Label runat="server" ID="GroupNameLabel" Text='<%#Eval("GroupName") %>' />
</td>
</tr>
</SelectedItemTemplate>
</asp:ListView>
<br/>
<asp:Label ID="MessageLabel"
ForeColor="Red"
runat="server"/>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the AdventureWorks sample database. Use an ASP.NET -->
<!-- expression to retrieve the connection string value -->
<!-- from the Web.config file. -->
<asp:SqlDataSource ID="DepartmentDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"
SelectCommand="SELECT DepartmentID, Name, GroupName
FROM HumanResources.Department">
</asp:SqlDataSource>
</form>
</body>
</html>
<%@ Page language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Protected Sub DepartmentsListView_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
MessageLabel.Text = "The key value is " & _
DepartmentsListView.SelectedValue.ToString() & "."
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>ListView SelectedValue Example</title>
<style type="text/css">
.header
{
border: 1px solid #008080;
background-color: #008080;
color: White;
}
.item td { border: 1px solid #008080; }
.selection td
{
border: 1px solid #008080;
background-color: #7FFF00;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<h3>ListView SelectedValue Example</h3>
<asp:ListView runat="server"
ID="DepartmentsListView"
DataSourceID="DepartmentDataSource"
DataKeyNames="DepartmentID"
OnSelectedIndexChanged="DepartmentsListView_SelectedIndexChanged">
<LayoutTemplate>
<b>Department List</b>
<br />
<table width="500px" runat="server" id="tblDepartments">
<tr class="header" runat="server">
<th runat="server"> </th>
<th runat="server">Department Name</th>
<th runat="server">Group Name</th>
</tr>
<tr runat="server" id="itemPlaceholder" />
</table>
</LayoutTemplate>
<ItemTemplate>
<tr class="item" runat="server">
<td>
<asp:LinkButton runat="server"
ID="SelectButton"
Text="Select"
CommandName="Select" />
</td>
<td>
<asp:Label runat="server" ID="NameLabel" Text='<%#Eval("Name") %>' />
</td>
<td>
<asp:Label runat="server" ID="GroupNameLabel" Text='<%#Eval("GroupName") %>' />
</td>
</tr>
</ItemTemplate>
<SelectedItemTemplate>
<tr class="selection" runat="server">
<td> </td>
<td>
<asp:Label runat="server" ID="NameLabel" Text='<%#Eval("Name") %>' />
</td>
<td>
<asp:Label runat="server" ID="GroupNameLabel" Text='<%#Eval("GroupName") %>' />
</td>
</tr>
</SelectedItemTemplate>
</asp:ListView>
<br/>
<asp:Label ID="MessageLabel"
ForeColor="Red"
runat="server"/>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the AdventureWorks sample database. Use an ASP.NET -->
<!-- expression to retrieve the connection string value -->
<!-- from the Web.config file. -->
<asp:SqlDataSource ID="DepartmentDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"
SelectCommand="SELECT DepartmentID, Name, GroupName
FROM HumanResources.Department">
</asp:SqlDataSource>
</form>
</body>
</html>
Açıklamalar
özelliği, DataKeyNames veri kaynağının birincil anahtarını temsil eden alan adlarının virgülle ayrılmış listesine ayarlanabilir. Ayarlanırsa, ListView denetim belirtilen alan veya alanların değerini veya değerlerini kullanarak denetimdeki her öğe için otomatik olarak bir DataKey nesne oluşturur. Ardından DataKey nesneler denetimin DataKeys koleksiyonuna eklenir.
Normalde, özelliği denetimdeki DataKeys belirli bir veri öğesinin DataKeyListView nesnesini almak için kullanılır. Ancak, yalnızca seçili durumdaki DataKey öğenin nesnesini almak istiyorsanız, özelliğini kısayol olarak kullanabilirsiniz SelectedDataKey . Özelliğini kullanarak SelectedValue seçili öğenin ilk anahtar alanının veri anahtarı değerini de doğrudan belirleyebilirsiniz.
Nesne ControlParameter oluşturuyorsanız ve ilk alan dışındaki bir anahtar alanına erişmek istiyorsanız özelliğini kullanın SelectedDataKey . Bir örnek için özelliğine SelectedDataKey bakın.