DetailsViewRowCollection.CopyTo(DetailsViewRow[], Int32) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
将此 DetailsViewRowCollection 对象中的所有项复制到指定的 Array 对象,从 Array 中的指定索引处开始。
public:
void CopyTo(cli::array <System::Web::UI::WebControls::DetailsViewRow ^> ^ array, int index);
public void CopyTo (System.Web.UI.WebControls.DetailsViewRow[] array, int index);
member this.CopyTo : System.Web.UI.WebControls.DetailsViewRow[] * int -> unit
Public Sub CopyTo (array As DetailsViewRow(), index As Integer)
参数
- array
- DetailsViewRow[]
一个从零开始的 Array,它接收 DetailsViewRowCollection 的复制项。
示例
下面的代码示例演示如何使用 CopyTo 该方法将对象中的 DetailsViewRowCollection 项复制到数组。 然后循环访问数组,并在页面上显示每行的值。
<%@ 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">
void SubmitButton_Click(Object sender, EventArgs e)
{
// Use the Count property to determine whether the
// Rows collection contains any item.
if (ItemDetailsView.Rows.Count > 0)
{
MessageLabel.Text = "The row values are: <br/><br/>";
// Copy the items in the Rows collection to an array.
DetailsViewRow[] rowArray = new DetailsViewRow[ItemDetailsView.Rows.Count];
ItemDetailsView.Rows.CopyTo(rowArray, 0);
// Iterate though the array and display the value in the
// first cell of the row.
foreach (DetailsViewRow row in rowArray)
{
// Use the Text property to access the value of
// each cell. In this example, the cells in the
// first column (index 0) contains the field names,
// while the cells in the second column (index 1)
// contains the field value.
MessageLabel.Text += row.Cells[0].Text + " = " +
row.Cells[1].Text + "<br/>";
}
}
else
{
MessageLabel.Text = "No items.";
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>DetailsViewRowCollection CopyTo Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DetailsViewRowCollection CopyTo Example</h3>
<asp:detailsview id="ItemDetailsView"
datasourceid="DetailsViewSource"
allowpaging="true"
autogeneraterows="false"
runat="server">
<fields>
<asp:boundfield datafield="CustomerID"
headertext="Customer ID"/>
<asp:boundfield datafield="CompanyName"
headertext="Company Name"/>
<asp:boundfield datafield="Address"
headertext="Address"/>
<asp:boundfield datafield="City"
headertext="City"/>
<asp:boundfield datafield="PostalCode"
headertext="ZIP Code"/>
<asp:boundfield datafield="Country"
headertext="Country"/>
</fields>
</asp:detailsview>
<br/>
<asp:button id="SubmitButton"
text="Display Row Values"
onclick="SubmitButton_Click"
runat="server"/>
<br/><br/>
<asp:label id="MessageLabel"
forecolor="Red"
runat="server"/>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the Northwind sample database. Use an ASP.NET -->
<!-- expression to retrieve the connection string value -->
<!-- from the web.config file. -->
<asp:sqldatasource id="DetailsViewSource"
selectcommand="Select [CustomerID], [CompanyName], [Address],
[City], [PostalCode], [Country] From [Customers]"
connectionstring=
"<%$ ConnectionStrings:NorthWindConnectionString%>"
runat="server"/>
</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">
Sub SubmitButton_Click(ByVal sender As Object, ByVal e As EventArgs)
' Use the Count property to determine whether the
' Rows collection contains any item.
If ItemDetailsView.Rows.Count > 0 Then
MessageLabel.Text = "The row values are: <br/><br/>"
' Copy the items in the Rows collection to an array.
Dim rowArray(ItemDetailsView.Rows.Count - 1) As DetailsViewRow
ItemDetailsView.Rows.CopyTo(rowArray, 0)
' Iterate though the array and display the value in the
' first cell of the row.
Dim row As DetailsViewRow
For Each row In rowArray
' Use the Text property to access the value of
' each cell. In this example, the cells in the
' first column (index 0) contains the field names,
' while the cells in the second column (index 1)
' contains the field value.
MessageLabel.Text &= row.Cells(0).Text & " = " & _
row.Cells(1).Text & "<br/>"
Next
Else
MessageLabel.Text = "No items."
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>DetailsViewRowCollection CopyTo Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DetailsViewRowCollection CopyTo Example</h3>
<asp:detailsview id="ItemDetailsView"
datasourceid="DetailsViewSource"
allowpaging="true"
autogeneraterows="false"
runat="server">
<fields>
<asp:boundfield datafield="CustomerID"
headertext="Customer ID"/>
<asp:boundfield datafield="CompanyName"
headertext="Company Name"/>
<asp:boundfield datafield="Address"
headertext="Address"/>
<asp:boundfield datafield="City"
headertext="City"/>
<asp:boundfield datafield="PostalCode"
headertext="ZIP Code"/>
<asp:boundfield datafield="Country"
headertext="Country"/>
</fields>
</asp:detailsview>
<br/>
<asp:button id="SubmitButton"
text="Display Row Values"
onclick="SubmitButton_Click"
runat="server"/>
<br/><br/>
<asp:label id="MessageLabel"
forecolor="Red"
runat="server"/>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the Northwind sample database. Use an ASP.NET -->
<!-- expression to retrieve the connection string value -->
<!-- from the web.config file. -->
<asp:sqldatasource id="DetailsViewSource"
selectcommand="Select [CustomerID], [CompanyName], [Address],
[City], [PostalCode], [Country] From [Customers]"
connectionstring=
"<%$ ConnectionStrings:NorthWindConnectionString%>"
runat="server"/>
</form>
</body>
</html>
注解
使用此方法将对象中的项复制到指定的数组中 DetailsViewRowCollection ,从指定的索引开始。 然后,可以使用数组访问集合中的项。
备注
必须为参数使用从零开始的 array
数组。