2010-06-07 1 views
2

Asp.net 동적 데이터를 사용하여 웹 응용 프로그램을 만들고 있습니다. GridView를 사용하여 데이터베이스의 데이터를 표시합니다. 그리드보기에서 asp.net 동적 데이터에서 컨트롤 인스턴스 가져 오기

나는 표시하기 전에 내가 각 행에 대해 C# 코드에서 일부 처리를하고 싶은, 열
<Columns> 
        <asp:DynamicField DataField="UserId" UIHint="Label" /> 
        <asp:DynamicField DataField="Address" UIHint="Address"/> 
        <asp:DynamicField DataField="CreatedDate" UIHint="Label" /> 
       </Columns> 

에 대한 다음과 같은 코드를 가지고 그러나하고있다. 일반 ASP.net 그리드보기에서 우리는 OnRowDataBound 메서드를 처리 할 수 ​​있고 FindControl ("controlid")을 사용하여 컨트롤 인스턴스를 얻을 수 있지만 동적 데이터의 경우 열에 대한 id 특성을 얻지 못하여 가질 수 없습니다. 일부 조건에 따라 해당 컨트롤에서 업데이트 된 데이터를 표시하도록 컨트롤 인스턴스를 가져옵니다.

감사합니다, Ashwani

답변

1

대신 DynamicField의 TemplateField를 사용해보십시오 : http://msdn.microsoft.com/en-us/library/bb288032.aspx

사용하는 방법의 예 : 여기

 <asp:Templatefield headertext="Author Name"> 
     <Itemtemplate> 
      <asp:label id="FirstNameLabel" 
      Text= '<%# Eval("au_fname") %>' 
      runat="server"/> 
      <asp:label id="LastNameLabel" 
      Text= '<%# Eval("au_lname") %>' 
      runat="server"/> 
     </Itemtemplate> 
     </asp:Templatefield> 

당신에게 사용할 수있는 옵션은 다음과 같습니다

  <asp:TemplateField 
       AccessibleHeaderText="string" 
       ConvertEmptyStringToNull="True|False" 
       FooterText="string" 
       HeaderImageUrl="uri" 
       HeaderText="string" 
       InsertVisible="True|False" 
       ShowHeader="True|False" 
       SortExpression="string" 
       Visible="True|False"> 
         <ControlStyle /> 
         <FooterStyle /> 
         <HeaderStyle /> 
         <ItemStyle /> 
        <AlternatingItemTemplate> 
         <!-- child controls --> 
        </AlternatingItemTemplate> 
        <EditItemTemplate> 
         <!-- child controls --> 
        </EditItemTemplate> 
        <FooterTemplate> 
         <!-- child controls --> 
        </FooterTemplate> 
        <HeaderTemplate> 
         <!-- child controls --> 
        </HeaderTemplate> 
        <InsertItemTemplate> 
         <!-- child controls --> 
        </InsertItemTemplate> 
        <ItemTemplate> 
         <!-- child controls --> 
        </ItemTemplate> 
      </asp:TemplateField>