2010-05-10 5 views
0

GridView/DetailsView 페이지를 생성합니다. 하나의 행을 선택하면 DetailsView를 사용하여 Insert/Update를 허용하는 행 집합을 표시하는 표가 있습니다.세부 사항 설정 GridView의 선택된 행으로보기

제 질문은 이것들을 연결하는 가장 좋은 방법은 무엇입니까? 나는 다시 웹 서비스에 접근하고 싶지 않다. 필요한 모든 데이터는 선택된 그리드 뷰 행에있다. 기본적으로 동일한 "DataObjectTypeName"을 공유하는 두 개의 개별 데이터 소스가 있으며, 첫 번째 데이터 소스는 데이터를 검색하고 다른 하나는 CRUD를 수행합니다.

선택한 그리드보기 행을 자세히보기로 전송하는 가장 좋은 방법은 무엇입니까? 수동으로 Insert/Update 이벤트를 처리하고 데이터 소스를 직접 호출해야합니까?

두 데이터를 연결하여 동일한 데이터 소스를 사용할 방법이 없습니까?

<asp:GridView ID="gvDetails" runat="server" DataKeyNames="ID, Code" 
       DataSourceID="odsSearchData" > 
    <Columns> 
     <asp:BoundField DataField="RowA" HeaderText="A" SortExpression="RowA" /> 
     <asp:BoundField DataField="RowB" HeaderText="B" SortExpression="RowB" /> 
     <asp:BoundField DataField="RowC" HeaderText="C" SortExpression="RowC" /> 



    ....Code... 

<asp:DetailsView ID="dvDetails" runat="server" DataKeyNames="ID, Code" 
       DataSourceID="odsCRUD" GridLines="None" DefaultMode="Edit" AutoGenerateRows="false" 
       Visible="false" Width="100%"> 
     <Fields> 
      <asp:BoundField DataField="RowA" HeaderText="A" SortExpression="RowA" /> 
      <asp:BoundField DataField="RowB" HeaderText="B" SortExpression="RowB" /> 
      <asp:BoundField DataField="RowC" HeaderText="C" SortExpression="RowC" /> 

... 

답변

1

는 griview의 선택 항목을 사용하면은 DetailsView까지 유선 한 ObjectDataSource를에 제어 파라미터가 될이하는 것입니다 수행하는 표준 방법. 느린 연결로 인해 웹 서버로의 왕복을 피하려고하는 사용자에게 음식을 제공하지 않는 한 이미 가지고있는 데이터 수집에 대한 오버 헤드에 대해 걱정하지 않을 것입니다.

당신이 정말로 피하려고한다면, 당신은 자바 스크립트/jquery를 사용하여 gridview에서 데이터를 가져 와서 아약스 호출을 통해 삽입/업데이트를 수행 할 수 있습니다. 그래도 더 많은 코딩이 필요합니다.

관련 문제