2014-11-21 5 views
0

그래서 나는 사진에 다음과 같은 버튼이 있습니다숨기기하는 LinkButton는

enter image description here 그래서 (그리드 컨트롤의 내부에 템플릿 필드에 위치)이 링크 버튼을 누르면 , 나는 그것을 숨기고 대신 사용자가 상태를 선택할 수있는 콤보 상자를 보여주고 싶습니다. 내가 잘못 여기서 뭐하는 거지

<asp:GridView ID="gridKorisnici" AutoGenerateColumns="false" AllowPaging="true" PageSize="20" runat="server" OnRowCommand="gridKorisnici_RowCommand" OnRowDataBound="gridKorisnici_RowDataBound" OnPageIndexChanging="gridKorisnici_PageIndexChanging"> 
     <Columns> 
      <asp:BoundField DataField="Ime" HeaderText="Ime"/> 
      <asp:BoundField DataField="Prezime" HeaderText="Prezime" /> 
      <asp:BoundField DataField="Email" HeaderText="Email"/> 
      <asp:CheckBoxField DataField="Popust" HeaderText="Popust"/> 
      <asp:BoundField DataField="IznosPopusta" HeaderText="Iznos popusta(%)"/> 
      <asp:CheckBoxField DataField="Status" HeaderText="Aktivan"/> 
      <asp:TemplateField HeaderText="Unos popusta(%)"> 
       <ItemTemplate> 
        <asp:TextBox ID="txtPopust2" runat="server"></asp:TextBox> 
       </ItemTemplate> 
      </asp:TemplateField> 
      <asp:TemplateField> 
       <ItemTemplate> 
        <asp:LinkButton ID="btnPopust" runat="server" Title="Aktivacija popusta" CommandName="AktivirajPopust" CommandArgument='<%#Eval("KupacID") + ";" +((GridViewRow) Container).RowIndex%>' ><img src="../images/1popust.png" /></asp:LinkButton> 
       </ItemTemplate> 
      </asp:TemplateField> 
       <asp:TemplateField> 
       <ItemTemplate> 
        <asp:LinkButton ID="btnDeaktivirajPopust" Title="Deaktivacija popusta" runat="server" CommandName="DeaktivirajPopust" CommandArgument='<%# Eval("KupacID") %>'><img src="../images/1popustminus.png" /></asp:LinkButton> 
       </ItemTemplate> 
      </asp:TemplateField> 
       <asp:TemplateField> 
       <ItemTemplate> 
        <asp:LinkButton ID="btnStatusKorusnika" title="Izmjeni status" runat="server" CommandName="IzmjeniStatus" CommandArgument='<%#Eval("KupacID") + ";" +((GridViewRow) Container).RowIndex%>'><img src="../images/1status.png" /></asp:LinkButton> 
        <asp:DropDownList ID="DropDownList1" Visible="false" runat="server"></asp:DropDownList> 
       </ItemTemplate> 
      </asp:TemplateField> 
       <asp:TemplateField> 
       <ItemTemplate> 
        <asp:LinkButton ID="btnHistorijaPristupa" title="Historija pristupa" runat="server" CommandName="HistorijaPristupaCommand" CommandArgument='<%# Eval("KupacID") %>'><img src="../images/1logovi.png" /></asp:LinkButton> 
       </ItemTemplate> 
      </asp:TemplateField> 
     </Columns> 
    </asp:GridView> 

, 사람이 나를 도울 수 :

if (e.CommandName == "IzmjeniStatus") 
       { 
        string[] arg = e.CommandArgument.ToString().Split(';'); 
        int index = Convert.ToInt32(arg[1].ToString()); 
// first locating the combo box inside of template field 
        DropDownList ComboStatus = (DropDownList)gridKorisnici.Rows[index].FindControl("DropDownList1"); 
// then locating the button 
        LinkButton btnIzmjeniStatus = (LinkButton)gridKorisnici.Rows[index].FindControl("btnStatusKorusnika"); 
        btnIzmjeniStatus.Visible = false; 
        ComboStatus.Visible = true; 
// once the button is pressed, hide the button and show the dropdown list 

        int KupacID = Convert.ToInt32(arg[0].ToString()); 
        hsp_Kupci_SelectByID_Result k = ServisnaKlasa.KupacByID(KupacID); 
        if(k.Status==true) 
        { 
         ServisnaKlasa.UpdateStatusKorisnika(KupacID, false); 
        } 
        else 
        { 
         ServisnaKlasa.UpdateStatusKorisnika(KupacID, true); 
        } 
        BindGrid(); 
       } 

이 영문 그리드의 코드는 다음과 같습니다

그 다음 코드를 만들었습니다? ?

감사합니다.

답변

1

내가 틀리지 않다면 여기 BindGrid() 메서드가 문제가됩니다. 그리드 뷰를 콤보 상자의 visible 속성을 'false'로 설정 한 초기 상태로 gridview를 가져오고, BindGrid()를 제거하고 콤보 상자를 볼 수 있다면.

관련 문제