본문 바로가기
programming/ASP.NET

GridView RowCommand 이벤트

by hotdogya 2009. 8. 1.

ASP.NET 3.5? 인가? ㅋ

우선 버튼컬럼의 속성 

CommandName="Button" 이라면

실행

 

        if (e.CommandName == "Button")
        {
            int key = Convert.ToInt32(e.CommandArgument);
           
            string code = this.Grideview1.DataKeys[key][0].ToString();
        }


 

Grideview1 줄번호 받고 key로 저장하고

Grideview1.DataKeys[key][0].ToString();

이렇게 읽는다.

문제는 Gridview속성에 DataKeyNames="code" 이런식으로 데이터베이스에서 datakey가 될것인지 지정해줘야 한다.


요걸로 DataKey(Primary Key)얻어옴.

Grideview1.DataKeys[key][0].ToString();

Grideview1.DataKeys[key][1].ToString();

.

.

.

<asp:GridView ID="GridView1" runat="server" AllowPaging="True"
    AutoGenerateColumns="False"
    PageSize="15" Width="554px"
    onpageindexchanging="GridView1_PageIndexChanging"
        onrowcommand="GridView1_RowCommand"
       DataKeyNames="code"  >
    <Columns>
        <asp:BoundField DataField="Username" HeaderText="ID"
            SortExpression="Username" />
        <asp:BoundField DataField="User_RealName" HeaderText="이름"
            SortExpression="User_RealName" />
        <asp:BoundField DataField="Generation" HeaderText="기수"
            SortExpression="Generation" />
        <asp:BoundField DataField="Email" HeaderText="Email" SortExpression="Email" />
        <asp:BoundField DataField="LastLoginDate" HeaderText="LastLoginDate"
            SortExpression="LastLoginDate" />
        <asp:BoundField DataField="CreationDate" HeaderText="CreationDate"
            SortExpression="CreationDate" />
        <asp:CheckBoxField DataField="IsLockedOut" HeaderText="아이디 차단"
            SortExpression="IsLockedOut" />
        <asp:ButtonField CommandName="modify" Text="수정" />
     </Columns>
   <RowStyle Height="24px" />
</asp:GridView>