2009-04-08 3 views
0

현재 Gridview에GridView 열을 ItemTemplate의 ID에서 String으로 변환하십시오.

TypeID, 이름, 설명이 표시됩니다.

TypeID 대신 실제 형식 이름을 gridview에 표시하고 싶습니다. ID를 가져 와서 이름을 반환하는이 함수를 만들었지 만 사용하는 데 문제가 있습니다. 15-20 개의 다른 유형이 있습니다. 그래서 TypeID를 Type Name으로 변환하면 Gridview가 렌더링 될 때 표시됩니다.

protected string GetGenericTypeByID(int genericTypeID) 
     { 
      string genericTypeName; 

      GenericType.Generic_TypeDataTable genericTypeNameDS = new GenericType.Generic_TypeDataTable(); 
      genericTypeNameDS = GenericBO.Get_GenericTypeByID(genericTypeID); 

      genericTypeName = genericTypeNameDS[0]["Generic_Type_Name"].ToString(); 









      return genericTypeName; 

     } 

나는 내가 ItemTemplate을의 기능을 사용할 수있을 것이라고 생각하지만 나는 내가이 문제를 해결 도움이 모든 사람에게

<ItemTemplate> 
        <asp:Label ID="Label1" runat="server" Text='<%# Bind("GetGenericTypeByID("Generic_Type_ID")")%>'></asp:Label> 
       </ItemTemplate> 

감사를 생각하는 것이 어렵게 될 것으로 보인다. 나는 아래의 방법을 사용하여 결국 완벽하게 작동합니다. GetGenericTypeByID (Convert.ToInt32 (Eval ("Generic_Type_ID")))

+0

그래서 ... 질문은 무엇입니까? – womp

답변

1

당신은 'bind/eval'과 메소드 호출을 내 보낸다.
는 'FormatUrl'기능의 존재로 Using Method inside a DataGrid or GridView TemplateField

<asp:TemplateField HeaderText=”Name”> 
<ItemTemplate> 
    <a href='<%# FormatUrl(Eval(”email1″).ToString())%>'><%# Eval(”fname”) %>,&nbsp;<%# Eval(”lname”) %></a> 
</ItemTemplate> 

를 참조하십시오 : 당신은 라벨 태그로 제한

public string FormatUrl(string email) 
{ 
    return “mailto:” + email; 
} 
0

그리드를 채우는 데 사용하는 행 클래스에 읽기 전용 속성을 만들고이 속성으로 함수의 결과를 반환합니다. .

+0

목록이 인 곳으로 데이터 바인딩하는 경우에만 작동합니다. 여기서 T는 행 클래스입니다. 당신이 SQL 데이터 세트에 데이터 바인딩하는 경우, 이것은별로 도움이되지 않습니다. – Chris

1

있습니까? 그렇지 않다면 David HAust의 대답을 확장하면 다음을 시도해보십시오.

<ItemTemplate> 
    <%#GetGenericTypeByID(Eval(Generic_Type_ID))%> 
</ItemTemplate> 
관련 문제