色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

手把手教你如何擴展GridView之自帶CheckBox

      我們在使用GridView的時候,很多時候需要使用CheckBox列,比如批量刪除,批量審批,但是每每都需要記住繁瑣的實現(xiàn)方法。多麻煩呀!再次給GridView做個手術(shù),讓它自己就能產(chǎn)生CheckBox豈不爽死了。以后您就有權(quán)利忘記怎么實現(xiàn)CheckBox列了。哈哈,作咱們這行的,就要學的慢慢退化,什么事情都記著,累也累死了。
      下面談談我這實現(xiàn)的思路:
      因為GridView是基于模板的,Columns也不能在后臺添加,所以排除通過添加Column來實現(xiàn),而采用在GridView創(chuàng)建行的時候動態(tài)創(chuàng)建表單元格,在表頭行上添加一個全選CheckBox,數(shù)據(jù)行上添加選擇框,點擊全選,通過向頁面注冊的腳本來實現(xiàn)全選。
   下面就看看關(guān)鍵的代碼:
    為了增加靈活性,添加了一個屬性,控制是否顯示CheckBox列  

   //是否顯示全選
        [
      Description(
"顯示全選列"),
      Category(
"擴展"),
        DefaultValue(
false)
      ]
        
public virtual bool ShowCheckAll
        
{
            
get
            
{
                
object obj2 = this.ViewState["ShowCheckAll"];
                
if (obj2 != null)
                
{
                    
return (bool)obj2;
                }

                
return false;

            }

            
set
            
{
                
bool aShowCheckAll = this.ShowCheckAll;
                
if (value != aShowCheckAll)
                
{
                    
this.ViewState["ShowCheckAll"= value;
                    
if (base.Initialized)
                    
{
                        
base.RequiresDataBinding = true;
                    }

                }

            }

        }

在頁面加載的時候,注冊全選腳本

 

 StringBuilder sb = new StringBuilder();
            sb.Append(
" <script type=/"text/Javascript/">");
            sb.Append(
"function CheckAll(oCheckbox)");
            sb.Append(
"{");
            sb.Append(
"var GridView2 = document.getElementById(/"" + this.ClientID + "/");");
            sb.Append(
" for(i = 1;i < GridView2.rows.length; i++)");
            sb.Append(
"{");
            sb.Append(
"var inputArray = GridView2.rows[i].getElementsByTagName(/"INPUT/");");
            sb.Append(
"for(var j=0;j<inputArray.length;j++)");
            sb.Append(
"{ if(inputArray[j].type=='checkbox')");
            sb.Append(
"{if(inputArray[j].id.indexOf('ItemCheckBox',0)>-1){inputArray[j].checked =oCheckbox.checked; }}  }");
            sb.Append(
"}");
            sb.Append(
" }");
            sb.Append(
"</script>");
            ScriptManager.RegisterClientScriptBlock(
thisthis.GetType(), "CheckFun", sb.ToString(),
false
);

NET技術(shù)手把手教你如何擴展GridView之自帶CheckBox,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 翁牛特旗| 富锦市| 金堂县| 建瓯市| 平江县| 翁牛特旗| 库车县| 井冈山市| 元阳县| 即墨市| 海兴县| 拉孜县| 临朐县| 木里| 奉节县| 彩票| 共和县| 福贡县| 延川县| 合江县| 郴州市| 牟定县| 巴楚县| 株洲市| 花垣县| 浙江省| 寿阳县| 永平县| 卓尼县| 滁州市| 鄄城县| 台东市| 亚东县| 会宁县| 滦南县| 南江县| 云林县| 乌兰县| 怀柔区| 青岛市| 蚌埠市|