Header Checbox不检查componentArt网格中的所有复选框 [英] Header Checbox Not checking all the chekboxes in componentArt Grid
问题描述
请注意-这是与零部件艺术网格有关的问题.
这段代码中的问题是,当我选中标题"复选框时,它将选中
标题复选框不选中行中的复选框.
我希望当用户选中标题复选框时,它将选中所有其他复选框..
我已经在ComponentArt Grid的标题中添加了复选框,就像这样....
note-This is the Problem Related to Component Art Grid.
the Problem in this code is that when i check the Header Check box it Will check
Header check box to not check the checkboxes in rows.
i want that when user check header check box it will check all other chechboxs..
i have Added check box in Header of ComponentArt Grid like this....
<ComponentArt:GridColumn HeadingText="" ColumnType="CheckBox" AllowEditing="True" AllowSorting="False"
DataType="System.Boolean" HeadingCellClientTemplateId="CheckboxHeadingCellTemplate"
DataCellClientTemplateId ="SelectorTemplate"/>
<ComponentArt:ClientTemplate ID="CheckboxHeadingCellTemplate">
<input type="checkbox" onclick="headerCheck(JobResponses, 0, this.checked)" ## headerChecked ? 'checked':'' ## />
</ComponentArt:ClientTemplate>
并在DataCellClientTemplateId中添加了复选框,如...
and also added check box in DataCellClientTemplateId like ...
<ComponentArt:ClientTemplate ID="CheckboxHeadingCellTemplate">
<input type="checkbox" onclick="headerCheck(JobResponses, 0, this.checked)" ## headerChecked ? 'checked':'' ## />
</ComponentArt:ClientTemplate>
这是用于检查标题复选框和所有其他内容的JavaScript方法..
here is javascript method to check header check box and all other..
var headerChecked = false;
function headerCheck(grid, column, wasChecked) {
debugger;
var gridItem;
var itemIndex = 0;
headerChecked = wasChecked;
grid.beginUpdate();
while (gridItem = grid.get_table().getRow(itemIndex)) {
gridItem.SetValue(column, wasChecked, true); // set dontPersist to true to improve performance
var email = gridItem.get_cells()[7].get_value() + ";";
var itemid = "" + itemIndex+ "";
var row = grid.getItemFromClientId(itemid);
if (wasChecked == false) {
document.getElementById('<%=hdnJobEmail.ClientID %>').value = "";
}
else {
document.getElementById('<%=hdnJobEmail.ClientID %>').value += row.getMember("Email").Value + ";";
}
itemIndex++;
}
alert(document.getElementById('<%=hdnJobEmail.ClientID %>').value);
grid.endUpdate();
}
this javascript method will check individual check box..
function ToggleCheckbox(objCheckbox, itemID, e) {
debugger;
var row = JobResponses.getItemFromClientId(itemID);
if (objCheckbox.checked) {
JobResponses.select(row, true);
//var abc = row.get_cells()[7].get_value();
document.getElementById('<%=hdnJobEmail.ClientID %>').value += row.getMember("Email").Value + ";";
}
else {
var abc = "";
JobResponses.unSelect(row);
var values = document.getElementById('<%=hdnJobEmail.ClientID %>').value.split(";");
document.getElementById('<%=hdnJobEmail.ClientID %>').value = "";
if (values.length > 0) {
for (var i = 0; i < values.length - 1; i++) {
if (values[i] == row.getMember("Email").Value) {
}
else {
var abc = row.getMember("Email").Value;
document.getElementById('<%=hdnJobEmail.ClientID %>').value += values[i] + ";";
}
}
}
}
e.cancelBubble = true;
if (e.stopPropagation) e.stopPropagation();
return false;
}
推荐答案
您将其发布到CA论坛了吗?在那寻求帮助?
我只是认为,在各自的论坛上发布有关第三方控制的此类问题会更有用.
此处:组件艺术论坛 [组件艺术文档 [ ^ ]
组件艺术知识库 [ ^ ]
Did you post it in CA forum? Looked for help there?
I just think, posting such issues about a 3rd party control would be more useful at their respective forums.
Here:Component Art Forum[^]
Try looking here:
Component Art documentation[^]
Component Art knowledgebase[^]
here is solution......
<ComponentArt:ClientTemplate ID="SelectorTemplate">
<input type="checkbox" ## if(DataItem.getCurrentMember().get_value() == true) "checked"; else "unchecked" ## onclick="javascript:ToggleCheckbox(this, '## DataItem.ClientId ##', event);" />
</ComponentArt:ClientTemplate>
这篇关于Header Checbox不检查componentArt网格中的所有复选框的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!