none
[C#] Gestion des checkbox's dans mon GridView RRS feed

  • Question

  •  

    Bonjour

     

    Voila je recupere des données dans un GridView et je rajoute deux colonnes en plus de 7 colonne par défaut. J'ai deux colonnes de checkbox : accepter et refuser. et il faut pas que les deux soit coché ou l'un des deux seulement. Je dois gerer ceci avec du Javascript.

     

    Vous aurez une piste ou m'indiqué comment je peu faire. Je suis bloqué.   

    mercredi 14 mai 2008 07:56

Réponses

  • Bonjour,

    Voila un exemple de code pour vous aider :

     

    Code Snippet

    ASPX :

     

    <script type="text/javascript">

    function multualyExclusiveCheckbox(cbxId1, cbxId2)

    {

    var cbx1 = document.getElementById(cbxId1);

    if (!cbx1) return;

     

    var cbx2 = document.getElementById(cbxId2);

    if (!cbx2) return;

     

    if (cbx1.checked) cbx2.checked = false;

    }

    </script>

    <asp:GridView ID="gv1" runat="server" AutoGenerateColumns="False" OnRowDataBound="gv1_RowDataBound">

    <Columns>

    <asp:TemplateField>

    <ItemTemplate>

    <asp:CheckBox ID="cbxAccepter" runat="server" />

    </ItemTemplate>

    </asp:TemplateField>

    <asp:TemplateField>

    <ItemTemplate>

    <asp:CheckBox ID="cbxRefuser" runat="server" />

    </ItemTemplate>

    </asp:TemplateField>

    </Columns>

    </asp:GridView>

     

    C#

     

    protected void Page_Load(object sender, EventArgs e)

    {

    this.gv1.DataSource = new int[] { 0, 1, 2, 3 };

    this.gv1.DataBind();

    }

     

    protected void gv1_RowDataBound(object sender, GridViewRowEventArgs e)

    {

    if (e.Row.RowType == DataControlRowType.DataRow)

    {

    CheckBox cbxAccepter = e.Row.FindControl("cbxAccepter") as CheckBox;

    CheckBox cbxRefuser = e.Row.FindControl("cbxRefuser") as CheckBox;

     

    if (null == cbxAccepter || null == cbxRefuser)

    {

    return;

    }

     

    cbxAccepter.InputAttributes["onclick"] = "multualyExclusiveCheckbox('" + cbxAccepter.ClientID + "', '" + cbxRefuser.ClientID + "');";

    cbxRefuser.InputAttributes["onclick"] = "multualyExclusiveCheckbox('" + cbxRefuser.ClientID + "', '" + cbxAccepter.ClientID + "');";

    }

    }

     

     

    mercredi 14 mai 2008 08:26

Toutes les réponses

  • Bonjour,

    Voila un exemple de code pour vous aider :

     

    Code Snippet

    ASPX :

     

    <script type="text/javascript">

    function multualyExclusiveCheckbox(cbxId1, cbxId2)

    {

    var cbx1 = document.getElementById(cbxId1);

    if (!cbx1) return;

     

    var cbx2 = document.getElementById(cbxId2);

    if (!cbx2) return;

     

    if (cbx1.checked) cbx2.checked = false;

    }

    </script>

    <asp:GridView ID="gv1" runat="server" AutoGenerateColumns="False" OnRowDataBound="gv1_RowDataBound">

    <Columns>

    <asp:TemplateField>

    <ItemTemplate>

    <asp:CheckBox ID="cbxAccepter" runat="server" />

    </ItemTemplate>

    </asp:TemplateField>

    <asp:TemplateField>

    <ItemTemplate>

    <asp:CheckBox ID="cbxRefuser" runat="server" />

    </ItemTemplate>

    </asp:TemplateField>

    </Columns>

    </asp:GridView>

     

    C#

     

    protected void Page_Load(object sender, EventArgs e)

    {

    this.gv1.DataSource = new int[] { 0, 1, 2, 3 };

    this.gv1.DataBind();

    }

     

    protected void gv1_RowDataBound(object sender, GridViewRowEventArgs e)

    {

    if (e.Row.RowType == DataControlRowType.DataRow)

    {

    CheckBox cbxAccepter = e.Row.FindControl("cbxAccepter") as CheckBox;

    CheckBox cbxRefuser = e.Row.FindControl("cbxRefuser") as CheckBox;

     

    if (null == cbxAccepter || null == cbxRefuser)

    {

    return;

    }

     

    cbxAccepter.InputAttributes["onclick"] = "multualyExclusiveCheckbox('" + cbxAccepter.ClientID + "', '" + cbxRefuser.ClientID + "');";

    cbxRefuser.InputAttributes["onclick"] = "multualyExclusiveCheckbox('" + cbxRefuser.ClientID + "', '" + cbxAccepter.ClientID + "');";

    }

    }

     

     

    mercredi 14 mai 2008 08:26
  • Bonjour

     

    Merci je vien de testé et sa marche niquel. lool je suis tres content.


    Comment faut il faire ce dernier dans une méthode ajaxPro Ajaxmethode que j'appelle dans mon javascript ???

     

     

    jeudi 15 mai 2008 07:56
  • Je pense qu'on va s'areté là merci quand meme .

     

     

    jeudi 15 mai 2008 13:11