GridView.DataKeyNames 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
GridView 컨트롤에 표시된 항목에 대한 기본 키 필드의 이름이 들어 있는 배열을 가져오거나 설정합니다.
public:
virtual property cli::array <System::String ^> ^ DataKeyNames { cli::array <System::String ^> ^ get(); void set(cli::array <System::String ^> ^ value); };
[System.ComponentModel.TypeConverter(typeof(System.Web.UI.WebControls.StringArrayConverter))]
public virtual string[] DataKeyNames { get; set; }
[<System.ComponentModel.TypeConverter(typeof(System.Web.UI.WebControls.StringArrayConverter))>]
member this.DataKeyNames : string[] with get, set
Public Overridable Property DataKeyNames As String()
속성 값
GridView 컨트롤에 표시된 항목의 기본 키 필드 이름이 들어 있는 배열입니다.
- 특성
예제
다음 예제에서는 사용 하는 방법을 보여 줍니다는 DataKeyNames 데이터 원본의 키 필드를 지정 하는 속성입니다. 예제에서 태그에 있는 요소의 GridView
특성은 DataKeyNames
쉼표를 사용하여 이름을 구분하여 두 개의 키 필드를 지정합니다. 이 예제를 실행하려면 다음이 포함된 웹 사이트를 만듭니다.
AdventureWorksLT 샘플 데이터베이스에 대한 연결 및 라는
AdventureWorksLTConnectionString
연결 문자열입니다. AdventureWorksLT 샘플 데이터베이스를 설정하는 방법에 대한 자세한 내용은 방법: ASP.NET 개발을 위한 AdventureWorksLT 샘플 데이터베이스 설정을 참조하세요.라는
AdventureWorksLTDataClassesDataContext
LINQ-to-SQL 데이터 컨텍스트 클래스입니다. 데이터 컨텍스트에는 SalesOrderDetails 테이블에 대한 클래스가 있어야 합니다. LINQ to SQL 클래스를 만드는 방법에 대한 자세한 내용은 LINQ to SQL을 참조하세요.
<asp:LinqDataSource ID="LinqDataSource1" runat="server"
ContextTypeName="AdventureWorksLTDataClassesDataContext"
EnableDelete="True" EnableInsert="True" EnableUpdate="True"
TableName="SalesOrderDetails">
</asp:LinqDataSource>
<asp:GridView ID="GridView1" runat="server"
AutoGenerateColumns="False"
DataKeyNames="SalesOrderID,SalesOrderDetailID"
DataSourceID="LinqDataSource1">
<Columns>
<asp:CommandField ShowDeleteButton="True"
ShowEditButton="True" />
<asp:BoundField DataField="SalesOrderID"
HeaderText="SalesOrderID" ReadOnly="True"
SortExpression="SalesOrderID" />
<asp:BoundField DataField="SalesOrderDetailID"
HeaderText="SalesOrderDetailID" InsertVisible="False"
ReadOnly="True" SortExpression="SalesOrderDetailID" />
<asp:BoundField DataField="OrderQty"
HeaderText="OrderQty" SortExpression="OrderQty" />
<asp:BoundField DataField="ProductID"
HeaderText="ProductID" SortExpression="ProductID" />
<asp:BoundField DataField="UnitPrice"
HeaderText="UnitPrice" SortExpression="UnitPrice" />
<asp:BoundField DataField="ModifiedDate"
HeaderText="ModifiedDate" SortExpression="ModifiedDate" />
</Columns>
</asp:GridView>
<asp:LinqDataSource ID="LinqDataSource1" runat="server"
ContextTypeName="AdventureWorksLTDataClassesDataContext"
EnableDelete="True" EnableInsert="True" EnableUpdate="True"
TableName="SalesOrderDetails">
</asp:LinqDataSource>
<asp:GridView ID="GridView1" runat="server"
AutoGenerateColumns="False"
DataKeyNames="SalesOrderID,SalesOrderDetailID"
DataSourceID="LinqDataSource1">
<Columns>
<asp:CommandField ShowDeleteButton="True"
ShowEditButton="True" />
<asp:BoundField DataField="SalesOrderID"
HeaderText="SalesOrderID" ReadOnly="True"
SortExpression="SalesOrderID" />
<asp:BoundField DataField="SalesOrderDetailID"
HeaderText="SalesOrderDetailID" InsertVisible="False"
ReadOnly="True" SortExpression="SalesOrderDetailID" />
<asp:BoundField DataField="OrderQty"
HeaderText="OrderQty" SortExpression="OrderQty" />
<asp:BoundField DataField="ProductID"
HeaderText="ProductID" SortExpression="ProductID" />
<asp:BoundField DataField="UnitPrice"
HeaderText="UnitPrice" SortExpression="UnitPrice" />
<asp:BoundField DataField="ModifiedDate"
HeaderText="ModifiedDate" SortExpression="ModifiedDate" />
</Columns>
</asp:GridView>
설명
사용 된 데이터 원본의 DataKeyNames 기본 키를 나타내는 필드 또는 필드를 지정 하는 속성입니다. 이 속성은 각 행을 고유하게 식별하는 데 필요한 필드 또는 필드로만 설정해야 합니다. 예를 들어 정수 값이 각 행을 고유하게 식별하는 경우 ID 열입니다. 컨트롤의 DataKeyNames 자동 업데이트 및 삭제 기능이 GridView 작동하려면 속성을 설정해야 합니다. 이러한 키 필드의 값은 업데이트 또는 삭제할 행을 지정하기 위해 데이터 원본 컨트롤에 전달됩니다.
행을 업데이트하거나 삭제할 때 데이터 키 값을 검색해야 하는 경우 또는 GridViewDeleteEventArgs 클래스의 GridViewUpdateEventArgs 속성을 사용합니다Keys
. 예를 들어 는 e.Keys[0]
또는 RowDeleting 이벤트 처리기에서 RowUpdating 첫 번째 데이터 키의 값을 보유합니다.
행을 선택할 때 데이터 키 값을 검색해야 하는 경우 속성을 사용합니다 SelectedDataKey .
속성이 DataKeyNames 설정되면 컨트롤은 각 행의 GridView 기본 키에 액세스하는 편리한 방법을 제공하는 지정된 필드 또는 필드의 값으로 해당 컬렉션을 자동으로 채웁니다 DataKeys .
참고
컨트롤은 GridView 이러한 키 필드 값을 컨트롤 상태에 저장합니다. 이러한 값에 중요한 정보가 포함된 경우 속성을 ViewStateEncryptionMode.Always
로 설정하여 뷰 상태 암호화를 ViewStateEncryptionMode 사용하도록 설정하는 것이 좋습니다.
자동으로 생성된 필드 열을 사용하는 경우(속성을 로 설정 AutoGenerateColumns 하여) GridView 컨트롤은 속성true
에 DataKeyNames 지정된 필드 또는 필드에 해당하는 열이 읽기 전용인지 확인합니다.
열 필드의 Visible 속성을 로 설정 false
하면 열이 컨트롤에 GridView 표시되지 않고 열의 데이터가 클라이언트로 왕복하지 않습니다. 클라이언트에서 볼 수 없는 열의 데이터를 사용하려면 속성에 필드 이름을 DataKeyNames 추가합니다.
적용 대상
추가 정보
.NET