Bonjour,

Je dispose d'une datagrid dont les 2 dernières colonnes sont des checkbox:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
<asp:DataGrid id="MachinesGrid" runat="server" AutoGenerateColumns="false" AllowSorting="True" >
	<Columns>
		<asp:BoundColumn DataField="MAC_NAME" SortExpression="MAC_NAME" HeaderText="Macine"></asp:BoundColumn>
		<asp:TemplateColumn>
			<HeaderTemplate>
				<p>
					<asp:CheckBox ID="ImportAllCheckBox" onClick="selectAll(this);" runat="server"></asp:CheckBox>
				</p>
			</HeaderTemplate>
			<ItemTemplate>
				<p>
				    <asp:CheckBox ID="ImportCheckBox" runat="server"></asp:CheckBox>
				</p>
			</ItemTemplate>
		</asp:TemplateColumn>
		<asp:TemplateColumn>
			<HeaderTemplate>
				<p>
					<asp:CheckBox ID="NoCopyAllCheckBox" onClick="selectAll(this);" runat="server"></asp:CheckBox>
				</p>
			</HeaderTemplate>
			<ItemTemplate>
				<p>
					<asp:CheckBox ID="NoCopyCheckBox" runat="server"></asp:CheckBox>
				</p>
			</ItemTemplate>
		</asp:TemplateColumn>
	</Columns>
</asp:DataGrid>
Je veux cocher ou décocher toutes les checkbox de la colonne quand je coche ou décoche la checkbox du header de la colonne en question...

Actuellement, les checkbox des 2 colonnes se cochent ou se décochent quand je coche ou décoche une des 2 checkbox header...

Y'a t'il un moyen de relier chaque checkbox d'une même colonne à sa checkbox header?

A tout hasard, voici ma fonction javascript qui gère la coche ou la décoche des checkbox de mon datagrid:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
function selectAll(checkBox)
{
    var i;
    for (i=0; i < document.forms[0].elements.length; i++) 
    {
        if ((document.forms[0].elements[i].type == 'checkbox') && 
        (document.forms[0].elements[i].name.indexOf('MachinesGrid') > -1)) 
        {
            document.forms[0].elements[i].checked = checkBox.checked;
        }
    }
return true;
}
Merci d'avance!