GridViewRow.RowState Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendapatkan status GridViewRow objek.
public:
virtual property System::Web::UI::WebControls::DataControlRowState RowState { System::Web::UI::WebControls::DataControlRowState get(); void set(System::Web::UI::WebControls::DataControlRowState value); };
public virtual System.Web.UI.WebControls.DataControlRowState RowState { get; set; }
member this.RowState : System.Web.UI.WebControls.DataControlRowState with get, set
Public Overridable Property RowState As DataControlRowState
Nilai Properti
Kombinasi bitwise dari DataControlRowState nilai.
Contoh
Contoh berikut menunjukkan cara menggunakan RowState properti untuk menentukan apakah baris dalam mode edit atau dipilih. Jika pengguna memilih baris yang berbeda saat GridView kontrol dalam mode edit, GridView kontrol akan keluar dari mode edit.
<%@ 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 AuthorsGridView_SelectedIndexChanged(Object sender, EventArgs e)
{
// Get the selected row.
GridViewRow row = AuthorsGridView.SelectedRow;
// Check the row state. If the row is not in edit mode and is selected,
// exit edit mode. This ensures that the GridView control exits edit mode
// when a user selects a different row while the GridView control is in
// edit mode. Notice that the DataControlRowState enumeration is a flag
// enumeration, which means that you can combine values using bitwise
// operations.
if(row.RowState != (DataControlRowState.Edit|DataControlRowState.Selected))
{
AuthorsGridView.EditIndex = -1;
}
}
void AuthorsGridView_RowEditing(Object sender, GridViewEditEventArgs e)
{
// Get the row being edited.
GridViewRow row = AuthorsGridView.Rows[e.NewEditIndex];
// Check the row state. If the row is not in edit mode and is selected,
// select the current row. This ensures that the GridView control selects
// the current row when the user clicks the Edit button.
if(row.RowState != (DataControlRowState.Edit|DataControlRowState.Selected))
{
AuthorsGridView.SelectedIndex = e.NewEditIndex;
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>GridViewRow RowState Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>GridViewRow RowState Example</h3>
<!-- The GridView control automatically sets the columns -->
<!-- specified in the datakeynames attribute as read-only -->
<!-- No input controls are rendered for these columns in -->
<!-- edit mode. -->
<asp:gridview id="AuthorsGridView"
datasourceid="AuthorsSqlDataSource"
autogeneratecolumns="false"
autogenerateeditbutton="true"
autogenerateselectbutton="true"
datakeynames="au_id"
cellpadding="10"
onselectedindexchanged="AuthorsGridView_SelectedIndexChanged"
onrowediting="AuthorsGridView_RowEditing"
runat="server">
<selectedrowstyle backcolor="Yellow"/>
<columns>
<asp:boundfield datafield="au_lname"
headertext="Last Name"/>
<asp:boundfield datafield="au_fname"
headertext="First Name"/>
</columns>
</asp:gridview>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the Pubs sample database. -->
<asp:sqldatasource id="AuthorsSqlDataSource"
selectcommand="SELECT [au_id], [au_lname], [au_fname] FROM [authors]"
updatecommand="UPDATE authors SET au_lname=@au_lname, au_fname=@au_fname WHERE (authors.au_id = @au_id)"
connectionstring="server=localhost;database=pubs;integrated security=SSPI"
runat="server">
</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">
Sub AuthorsGridView_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
' Get the selected row.
Dim row As GridViewRow = AuthorsGridView.SelectedRow
' Check the row state. If the row is not in edit mode and is selected,
' exit edit mode. This ensures that the GridView control exits edit mode
' when a user selects a different row while the GridView control is in
' edit mode. Notice that the DataControlRowState enumeration is a flag
' enumeration, which means that you can combine values using bitwise
' operations.
If row.RowState <> (DataControlRowState.Edit Or DataControlRowState.Selected) Then
AuthorsGridView.EditIndex = -1
End If
End Sub
Sub AuthorsGridView_RowEditing(ByVal sender As Object, ByVal e As GridViewEditEventArgs)
' Get the row being edited.
Dim row As GridViewRow = AuthorsGridView.Rows(e.NewEditIndex)
' Check the row state. If the row is not in edit mode and is selected,
' select the current row. This ensures that the GridView control selects
' the current row when the user clicks the Edit button.
If row.RowState <> (DataControlRowState.Edit Or DataControlRowState.Selected) Then
AuthorsGridView.SelectedIndex = e.NewEditIndex
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>GridViewRow RowState Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>GridViewRow RowState Example</h3>
<!-- The GridView control automatically sets the columns -->
<!-- specified in the datakeynames attribute as read-only -->
<!-- No input controls are rendered for these columns in -->
<!-- edit mode. -->
<asp:gridview id="AuthorsGridView"
datasourceid="AuthorsSqlDataSource"
autogeneratecolumns="false"
autogenerateeditbutton="true"
autogenerateselectbutton="true"
datakeynames="au_id"
cellpadding="10"
onselectedindexchanged="AuthorsGridView_SelectedIndexChanged"
onrowediting="AuthorsGridView_RowEditing"
runat="server">
<selectedrowstyle backcolor="Yellow"/>
<columns>
<asp:boundfield datafield="au_lname"
headertext="Last Name"/>
<asp:boundfield datafield="au_fname"
headertext="First Name"/>
</columns>
</asp:gridview>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the Pubs sample database. -->
<asp:sqldatasource id="AuthorsSqlDataSource"
selectcommand="SELECT [au_id], [au_lname], [au_fname] FROM [authors]"
updatecommand="UPDATE authors SET au_lname=@au_lname, au_fname=@au_fname WHERE (authors.au_id = @au_id)"
connectionstring="server=localhost;database=pubs;integrated security=SSPI"
runat="server">
</asp:sqldatasource>
</form>
</body>
</html>
Keterangan
RowType Gunakan properti untuk menentukan status GridViewRow objek. Status bisa menjadi kombinasi bitwise dari nilai dalam tabel berikut:
| Nilai status | Deskripsi |
|---|---|
DataControlRowState.Alternate |
Objek GridViewRow adalah baris alternatif dalam GridView kontrol. |
DataControlRowState.Edit |
Objek GridViewRow dalam mode edit. |
DataControlRowState.Normal |
Objek GridViewRow dalam status normal (default). |
DataControlRowState.Selected |
Objek GridViewRow dipilih. |
Properti ini umumnya digunakan untuk menentukan status baris sebelum melakukan operasi.