1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Javascript em C# - Ajuda

Discussão em 'Programação' iniciada por SkimmingBoy, 28 de Dezembro de 2006. (Respostas: 3; Visualizações: 1482)

  1. É o seguinte: estou a desenvolver uma aplicação que tem um datagrid que contem duas colunas com checkboxes. O que acontece é quando uma checkbox é checked ou unchecked a outra tem de ficar enabled ou disabled. Isto acontece quando a pag é carregada incialmente, mas não pretendo que a pag faça refresh a cada alteração das checkboxes, então tenho de implementar a função em javascript. No ficheiro .aspx tenho o seguinte código para as checkboxes:

    <asp:TemplateColumn HeaderText="Cont.">
    <HeaderStyle HorizontalAlign="Center" Width="50px"></HeaderStyle>
    <ItemStyle HorizontalAlign="Center"></ItemStyle>
    <ItemTemplate>
    <asp:checkbox checked='<%# GetCheckBoxSetting(DataBinder.Eval(Container, "DataItem.Cont"))%>' id=chkCont runat="server">
    </asp:checkbox>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn HeaderText="Inc.">
    <HeaderStyle HorizontalAlign="Center" Width="50px"></HeaderStyle>
    <ItemStyle HorizontalAlign="Center"></ItemStyle>
    <ItemTemplate>
    <asp:checkbox Checked='<%# GetCheckBoxSetting(DataBinder.Eval(Container, "DataItem.Inc")) %>' id="chkInc" runat="server">
    </asp:checkbox>
    </ItemTemplate>
    </asp:TemplateColumn>

    No codigo C# crio o seguinte listener aquando da criação das checkboxes:

    privatevoid dgContInc_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
    {
    CheckBox cBoxCont = (CheckBox) e.Item.FindControl("chkCont");
    CheckBox cBoxInc = (CheckBox) e.Item.FindControl("chkInc");
    cBoxCont.Attributes.Add("onclick", "ActualizaCheckBoxes(this.id)");
    cBoxInc.Attributes.Add("onclick", "ActualizaCheckBoxes(this.id)");
    FormataLinhasTabela( e );
    }
    }



    É então necessario programar a função ActualizaCheckBoxes em javascript, na qual estou a ter dificuldades.

    Se alguem me pudesse ajudar o mais rapido possivel agradecia ;)

    Cumprimentos
     
  2. SoundSurfer

    SoundSurfer Power Member

    Tenta qq coisa assim:

    modific o método para:
    Código:
    
    cBoxCont.Attributes.Add("onclick", "ActualizaCheckBox('" + cBoxCont.ClientID + "', '" + cBoxInc.ClientID + "')");
    cBoxInc.Attributes.Add("onclick", "ActualizaCheckBox('" + cBoxInc.ClientID + "', '" + cBoxCont.ClientID + "')");
    
    
    Javascript:

    Código:
    
    function ActualizaCheckBox(box1ID, box2ID)
    {
    
    var box1 = focument.getElementById(box1ID);
    var box2 = focument.getElementById(box2ID);
    
    if(box1.checked == true)
    {
     box2.disabled = true;
    }
    else
    {
    box2.disabled = false;
    }
    
    }
    
    
    Já é um começo.
     
  3. Obrigado pela ajuda, fiz as alterações que recomendaste mas continua a não funcionar :(

    Dá-me o seguinte erro na pagina:
    Error: Object Expected
    Code: 0

    Incialmente quando faço o Page_Load() e faço o databind() do datagrid eu faço checked's e disable's às varias checkboxes. Será por isso que não está a funcionar?
     
  4. SoundSurfer

    SoundSurfer Power Member

    Eu não testei esse código... foi só uma base.
     

Partilhar esta Página