Gridview的多选及全选

多选:
    1.用<INPUT id="checkedIDs" type=hidden runat="server" /> 记录选中项
    2.Gridview 控件RowDataBound事件中保持状态
    3.应用时从<INPUT id="checkedIDs" type=hidden runat="server" /> 取得选中项
    代码:
    [前台主要代码] 
   
<INPUT id="checkedIDs" type=hidden runat="server" /> 
<ItemTemplate>
<INPUT id="Checkbox2" onclick="checkAll(this)" type=checkbox value='<%# Eval("IdInBBs") %>' runat="server" />选择&nbsp; 
</ItemTemplate>
<script type ="text/javascript">
 
function checkAll(checkObj)
 
{
   
var hiddenObj=document.getElementById("<% =checkedIDs.ClientID %>");
   
if(checkObj.checked)
   
{
     hiddenObj.value
+=","+checkObj.value;
   }

   
else
   
{
     hiddenObj.value 
= hiddenObj.value.replace(","+checkObj.value,"");
   }

    
 }

</script>

   [后台主要代码]
   
protected void bbsArticleGv_RowDataBound(object sender, GridViewRowEventArgs e)
    
{
        
if (e.Row.RowType == DataControlRowType.DataRow)
        
{
           
// string[] idArray = checkedIDs.Value.Split(new char[] { ','});
            string idString = checkedIDs.Value;
            HtmlInputCheckBox checkBox 
= (HtmlInputCheckBox)e.Row.FindControl("Checkbox2");
            
if (checkBox != null)
            
{
                
if (idString.IndexOf(checkBox.Value) > 0)
                
{
                    checkBox.Checked 
= true;
                }

               
            }


        }

    }
 取值:
string[] idArray = checkedIDs.Value.Split(new char[] ',' });  

posted @ 2008-02-28 16:29  koolay  阅读(501)  评论(0)    收藏  举报