2009-03-30 5 views
2

조건부로 DetailsView에서 패널을 숨기거나 표시합니다 ... 패널이 숨겨져있을 때 현재 빈 행을 표시하고 있기 때문에 패널에 포함 된 DetailsView 행/필드를 숨기거나 표시하고 싶은데 ? 코드 숨김ASP 세부 정보보기, 조건부로 쇼 컨트롤 및 행 숨기기?

ASCX: 

<asp:DetailsView> 
<asp:TemplateField> 
    <ItemTemplate> 
    <asp:panel runat="server" ID="pnlHideShow" OnInit="OnInit_Panel"> 
... 

:

protected void OnInit_Panel(object sender, EventArgs e) 
{ 
    Panel pnl = (Panel) sender; 
    pnl.Visible = false; 

    switch (pnl.ID) 
    { 
    default: 
     break; 
    case "pnlHideShow": 
     pnl.Visible = (some condition); 
    //How to hide/show DetailsView item containing this panel? 
    break; 
    ... 
    } 
    ... 
} 

희망 나는 "worse-than-failure"에 대한 후보 아니다)

답변

4

뭔가 같은 :

pnl.Visible = (some condition); 
pnl.Parent.Visible = true; // you may have to go pnl.Parent.Parent.Parent.Visible... try stepping through debug 
+1

((텍스트 상자) DetailsView1.FindControl (" txtComments ")) .Parent.Visible 나를 위해 일했다 :) – JumpingJezza

관련 문제