我想要的刷新类型本身并不处理数据。
这是场景:我有一个带有 3 列 A、B 和 C 的 gridview。用户可以单击复选框 a、b 和 c 以使相应的列可见或不可见。[要清楚,这些复选框在 gridview 之外。]
现在我希望在单击每个复选框后立即刷新网格视图,仅显示选定的列。我该怎么做?
假设您在表格(网格)中的每一列都有一个复选框,您可以在 jQuery 中编写如下内容:
$(function() {
$('input:checkbox').change(function() {
//get a reference to the corresponding table column
var $col = $('<#%=grid.ClientID %>' + ' td:nth-child(' + $(this).val() + ')');
if (this.checked) $col.hide();
else $col.show();
});
});
并且相应的复选框具有为表中的列索引设置的值。例如:
<input type="checkbox" value="1" /><-- hides first column in grid-->
<input type="checkbox" value="2" /><-- hides second column in grid-->
<input type="checkbox" value="3" /><-- hides third column in grid-->
一个更短/更简单的版本也可能适合您:
$(function() {
$('input:checkbox').change(function() {
var $col = $('table ' + 'td:nth-child(' + $(this).val() + ')');
$col.toggle();
});
});
protected void Check_Clicked(Object sender, EventArgs e)
{
CheckBox theOneClicked= (sender as CheckBox);
if(theOneClicked.ID=="checkbox1")
myGrid.Columns[0].Visible=false;
else if(theOneClicked.ID=="checkbox2")
myGrid.Columns[1].Visible=false;
else if(theOneClicked.ID=="checkbox3")
myGrid.Columns[2].Visible=false;
}