이 페이지가 유용했습니까?
이 콘텐츠에 대한 여러분의 의견은 중요합니다. 의견을 알려주십시오.
추가 의견
1500자 남음
내보내기(0) 인쇄
모두 확장
확장 최소화
이 문서는 수동으로 번역한 것입니다. 원본 텍스트를 보려면 포인터를 문서의 문장 위로 올리십시오.
번역
원본

GridView.EditIndex 속성

편집할 행의 인덱스를 가져오거나 설정합니다.

네임스페이스:  System.Web.UI.WebControls
어셈블리:  System.Web(System.Web.dll)

public virtual int EditIndex { get; set; }
<asp:GridView EditIndex="Int32" />

속성 값

형식: System.Int32
편집할 행의 0부터 시작하는 인덱스입니다. 기본값은 -1로, 편집하고 있는 행이 없음을 나타냅니다.

예외상황
ArgumentOutOfRangeException

지정된 인덱스가 -1보다 작은 경우

행 인덱스는 0부터 시작합니다(첫 번째 행이 0 행).

이 속성은 일반적으로 특정 이벤트에 대한 처리기를 포함하는 다음 시나리오에서만 사용됩니다.

  • 해당 페이지가 처음 표시될 때 편집 모드에서 특정 행에 대해 GridView 컨트롤을 열어 두려고 합니다. 이렇게 하려면 GridView 컨트롤 또는 Page 클래스의 Load 이벤트에 대한 처리기에서 EditIndex 속성을 설정합니다.

  • 행을 업데이트한 후 어떤 행이 편집되었는지 압니다. 이렇게 하려면 RowUpdated 이벤트 처리기의 EditIndex 속성에서 행 인덱스를 검색합니다.

  • DataSource 속성을 프로그래밍 방식으로 설정하여 GridView 컨트롤을 데이터 소스에 바인딩합니다. 이 경우 RowEditingRowCancelingEdit 이벤트 처리기에서 EditIndex 속성을 설정해야 합니다.

Load 이벤트 후에 발생하는 이벤트에 대해 포스트백 또는 이벤트 처리기 후에 EditIndex 속성을 설정하는 경우 GridView 컨트롤은 지정된 행에 대해 편집 모드를 입력하지 못할 수 있습니다. 다른 이벤트 처리기에서 이 속성의 값을 읽는 경우 편집 중인 인덱스가 행을 반영하지 않을 수도 있습니다.

GridView 컨트롤이 편집 모드로 들어가기 전에 사용자가 편집 단추 또는 하이퍼링크를 클릭한 행을 확인하려면 RowEditing 이벤트 처리기에서 GridViewEditEventArgs 개체의 NewEditIndex 속성에서 행 인덱스를 검색합니다.

사용자가 편집 단추 또는 하이퍼링크를 클릭한 후에 GridView 컨트롤이 편집 모드로 들어가지 않도록 하려면 RowEditing 이벤트 처리기에서 GridViewEditEventArgs 개체의 Cancel 속성을 true로 설정합니다.

다음 예제에서는 EditIndex 속성을 사용하여 GridView 컨트롤에서 편집된 후 업데이트된 행을 확인하는 방법을 보여 줍니다. 업데이트 성공을 나타내는 메시지가 표시됩니다.



<%@ 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 CustomersGridView_RowCommand(Object sender, GridViewCommandEventArgs e)
  {

    // Clear the message label when the user enters edit mode.
    if (e.CommandName == "Edit")
    {
      Message.Text = "";
    }

  }

  void CustomersGridView_RowUpdated(Object sender, GridViewUpdatedEventArgs e)
    {

        // The update operation was successful. Retrieve the row being edited.
        int index = CustomersGridView.EditIndex;
        GridViewRow row = CustomersGridView.Rows[index];

        // Notify the user that the update was successful.
        Message.Text = "Updated record " + row.Cells[1].Text + ".";

    }

  void CustomersGridView_RowCancelingEdit(Object sender, GridViewCancelEditEventArgs e)
    {

        // The update operation was canceled. Display the appropriate message.
        Message.Text = "Update operation canceled.";

    }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>GridView Rows Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <h3>GridView Rows Example</h3>

      <asp:label id="Message"
        forecolor="Red"
        runat="server"/>

      <br/>    

      <!-- The GridView control automatically sets the columns     -->
      <!-- specified in the datakeynames property as read-only.    -->
      <!-- No input controls are rendered for these columns in     -->
      <!-- edit mode.                                              -->
      <asp:gridview id="CustomersGridView"
        allowpaging="true" 
        datasourceid="CustomersSqlDataSource" 
        autogeneratecolumns="true"
        autogenerateeditbutton="true"
        datakeynames="CustomerID"
        onrowcommand="CustomersGridView_RowCommand"
        onrowupdated="CustomersGridView_RowUpdated"
        onrowcancelingedit="CustomersGridView_RowCancelingEdit"  
        runat="server">
      </asp:gridview>

      <!-- 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="CustomersSqlDataSource"  
        selectcommand="Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers]"
        updatecommand="Update Customers SET CompanyName=@CompanyName, Address=@Address, City=@City, PostalCode=@PostalCode, Country=@Country WHERE (CustomerID = @CustomerID)"
        deletecommand="Delete from Customers where CustomerID = @CustomerID"
        connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>"
        runat="server">
      </asp:sqldatasource>

    </form>
  </body>
</html>



.NET Framework

4, 3.5, 3.0, 2.0에서 지원

Windows 7, Windows Vista SP1 이상, Windows XP SP3, Windows XP SP2 x64 버전, Windows Server 2008(Server Core는 지원되지 않음), Windows Server 2008 R2(Server Core는 SP1 이상에서 지원됨), Windows Server 2003 SP2

.NET Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.

날짜

변경 내용

이유

데이터 소스를 설명 부분에 프로그래밍 방식으로 설정하는 단락을 추가했습니다.

고객 의견

커뮤니티 추가 항목

추가
표시:
© 2015 Microsoft