天天看點

第十六講 GridView資料綁定控件(三)

主要内容

//公司記錄部分

    1. 以後的開發當中盡量不要使用腳本彈出代碼,原因是會影響資料的呈現效果,有時,會呈現的資料文字格式發現些微的變化,影響美觀!

    2. 替換上面所說的腳本彈出代碼的是,C#提供的一個方法:

    this.Page.ClientScript.RegisterStarupScript(this.GetType(),Guid.NewGuid(),"");

        1. this.GetType()表示目前對象資料類型

        2. Guid.NewGuid()擷取一個全球唯一辨別符作為KEY

        3. ""這個字元串參數裡就是腳本

    這個方法能夠保證我們的頁面的CSS效果不會因為彈出腳本而受到影響。

    3. 當删除一個條學生資訊時,需要彈出一個确認删除對話,以避免使用者的因誤删除後悔莫及。

        1. 這個操作需要在GridView控件的RowDataBound事件處理。

        這個事件,就是GridView綁定一行,就觸發一次,這裡包含列頭和列腳,是以在使用的時候要注意,過濾到列頭列腳的事件觸發動作。

        如:

        //删除确認對話框的實作

            (e.Row.FindControl("lkDel") as LinkButton).Attributes.Add("onclick","return confirm('您确認删除嗎?')");

        2. 再人性化點的就是,提示預删除的行資訊内容

        如:

        //剛做錯了,這裡需要先排除列頭列腳,因為這個事件也同樣會被列頭列腳觸發

            if (e.Row.RowType == DataControlRowType.DataRow)

            {

                //更加人性化一點,提供資訊中加入預删除的内容

                string name = (e.Row.FindControl("lblName") as Label).Text;

                //删除确認對話框的實作

                (e.Row.FindControl("lkDel") as LinkButton).Attributes.Add("onclick","return confirm('您确認删除【"+name+"】嗎?')");

            }

//家中記錄部分

    1. 添加開删除事件處理

        也是通過GridView控件的子控件擷取學号進行處理删除的處理

    2. 由于response.write()形式的彈出腳本,可能會影響GridView控件呈現資料的字展現象,影響資料顯示的呈現,建議使用C#的控件腳本注冊方法:

    如:(e.Row.FindControl("lbDel") as LinkButton).Attributes.Add("onclick", "return confirm('您确認要删除嗎?')");

    3. 為了更好的人性化,可以在提示資訊中加載要删除的資訊内容資訊,讓使用者确認是否删除有誤。

        同樣中擷取要删除的行中的控件内容

        但是這裡有個問題出現了,當點選編輯按鈕時會報錯。

    4. 需要注意的是GridView控件是不支援插入資料行的功能的。

    5. GridView的光棒效果

        光棒效果即:當滑鼠移動到GridView中的某一行時,行的背景色顯示一種效果,當滑鼠離開時,效果變化或恢複到原的樣子。

        這個效果需要被應用到GridView中每一行中,是以這段碼還是要寫在RowDataBound事件中。同樣也是作用于,GridView中的資料行上,也即是也同樣需要過濾到列頭列腳的。

        如:if (e.Row.RowType == DataControlRowType.DataRow){}

        同2項中所記錄一樣,2中是對一個子控件的屬性注冊一個JS腳本,這裡是需要對GridView的資料行的屬性注冊一個JS腳本,KEY就是行的事件,這裡就是mouseover 和 mouseout

        如:

        //GridView中的資料行的光棒效果

        e.Row.Attributes.Add("onmouseover", "w=this.style.backgroundColor; this.style.backgroundColor='yellow'");//滑鼠滑過時

        e.Row.Attributes.Add("onmouseout","this.style.backgroundColor=w");//滑鼠滑出時恢複原來的背景

    6. GridView控件的分頁功能

        使用的是GridView控件的一個屬性:AllowPageing打開GridView的分頁功能,PageSize是一頁顯示的資料條數,

        不過,在實際的開發當中,卻是很少人使用

        當點選下一頁時,需要處理GridView控件的PageIndexChanging事件,這裡使用GridView控件的PageIndex屬性,擷取使用者點選的頁的索引,這個索引号是由事件參數對象攜帶的,e.NewPageIndex

        如:this.GridView1.PageIndex=e.NewPageIndex

        注意,别忘了再次加載一次資料。

    7. GridView控件,雖說功能強大,但是由于它是自動生成的代碼,有很多的備援代碼在裡,隻适合一些小型的網站,或WinForm應用程式,對于大型的應用程式或網站是不推薦使用GridView的。