2012-10-08 3 views
0

AutoGenerateSelectButton을 설정하지 않고 행을 선택하는 방법 및 selectedIndex를 GridView_SelectedIndexChanged에 선택하는 방법은 무엇입니까? 해당 사용자가 테이블에서 특정 필드를 선택 인식하는 방법 AutoGenerateSelectButton을 true로 설정하지 않고 행 선택

(예를 선택 ROW2, COL3에 대한)

+0

어떻게 행을 선택 하시겠습니까? 그것을 클릭하여? – adripanico

+0

ye이 버튼을 클릭하여 볼 수있는 이런 식으로 – SajjadZare

답변

0

이것은 선택 버튼이없는 평균 gridview입니다. RowDataBound 메서드를 사용하면 눈금을 강조 표시 할 수 있습니다. SelectedIndexChanged 메서드의 조건에 따라 선택한 행이 무엇인지 알려주고 다음에 열이 만들어진 순서에 따라 특정 열의 값을 가져올 수있는 경우 특정 열이 선택되었을 가능성이 있는지 확인할 수 있습니다. 이것은 그들이 x와 y를 어디에서 클릭했는지 정확하게 보여주지는 않을 것입니다. 그러나 나는 올바른 방향으로 향해야합니다. 그러나 이것은 어떤 행이 강조되었는지를 기반으로 열 데이터를 가져오고 물론 포스트 백을 사용하여 클릭하게됩니다.

<asp:GridView ID="PropertyGridView" runat="server" AutoGenerateColumns="False" OnSelectedIndexChanged="PropertyGridView_SelectedIndexChanged" OnRowDataBound="PropertyGridView_RowDataBound"> 
       <RowStyle HorizontalAlign="Left" /> 
       <EmptyDataTemplate> 
        <div> 
         <asp:Label runat="server" ID="EtLbl" Text="No properties were found."</asp:Label> 
        </div> 
       </EmptyDataTemplate> 
       <Columns> 
        <asp:BoundField DataField="Name" HeaderText="User Name" Width="20%" /> </asp:BoundField> 
        <asp:BoundField DataField="Age" HeaderText="User Age" Width="20%" /> </asp:BoundField> 
        <asp:BoundField DataField="Height" HeaderText="User Height" Width="20%" /> </asp:BoundField> 
       </Columns> 
</asp:GridView> 


public void PropertyGridView_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    if (e.Row.DataItemIndex == -1) 
     return; 
    e.Row.Attributes.Add("onMouseOver", "this.style.cursor='hand';"); 
    e.Row.Attributes.Add("onclick", this.GetPostBackClientEvent(PropertyGridView,"Select$" + e.Row.RowIndex.ToString())); 
} 

public void PropertyGridView_SelectedIndexChanged(object sender, EventArgs e) 
{ 

    string Name = PropertyGridView.SelectedRow.Cells[0].Text; 
    string Age= PropertyGridView.SelectedRow.Cells[1].Text; 
    string Height PropertyGridView.SelectedRow.Cells[2].Text; 

    if(Height != null) 
    { 
     // The user selected a row and this Column (Height has data) 
    } 


} 
+0

이 질문을 삭제 한 답을 삭제하십시오. – SajjadZare

0

는 (템플릿 필드를 사용하여) 버튼으로 열을 추가하고 "선택"하는 명령 이름을 설정합니다. 그게 효과가있다.

+0

을 클릭하여 선택하려고합니다. – SajjadZare

+0

위에서 언급 한 내용이 명확하지 않습니다. 행이나 셀을 클릭하여 행을 선택하겠습니까, 아니면 선택이 어떻게 발생합니까? –

관련 문제