日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

DataGrid Web Control 连载之九

發布時間:2025/5/22 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DataGrid Web Control 连载之九 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
單擊行內任意處選中該行<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

??這個系列是在開發過程中對遇到的技術問題的一個總結,當時對這個控件的了解不是很多,但是根據需要實現的功能,不得不查閱N多資料,在MSDN文檔中只有英文的說明,我整理并翻譯了出來,在此和大家一起分享。轉載請加此連接[url]http://august.blog.51cto.com[/url],謝謝! DataGrid中提供的選擇行的默認的方式是添加一個Select按鈕(實際上,是一個LinkButton按鈕),將其CommandName屬性設為“Select”,當單擊按鈕時,DataGrid得到“Select”命令,并自動地在選中模式下顯示該行。 ? 并非所有的用戶都會喜歡默認的“Select”按鈕,問題是如何實現在某行的任意處單擊而能選中該行。The solution is to perform a kind of sleight-of-hand in the grid.你可以象通常那樣添加一個Select LinkButton,用戶仍然可以使用它,也可以將它隱藏,然后在Page中加入客戶端腳本將Select按鈕的功能有效地復制到整個行。 下面的例子說明了如何來實現。在GataGridItemDataBound句柄中,首先要保證選中的行不能是header ,footer 或者Pager。然后得到Select按鈕的一個引用。在這個例子中,假設是第一個單元格中的第一個控件。然后調用一個少有人知的方法——GetPostBackClientHyperLink,這個方法返回一個設計好的控件的PostBack調用的名稱。換句話說,如果傳遞一個引用到一個LinkButton控件,這個方法將返回用于執行PostBack的客戶端功能調用的名稱。 最后,將客戶端方法指定給Item 本身,當DataGrid 生成時,它類似于一個HTMLTable。將方法指定給Item,等價于向表中的每一個行添加客戶端代碼。DataGridItem對象并不直接支持客戶端代碼到自身的方法,但是,我們可以通過它的Attributes集合來實現,這個集合傳遞通過瀏覽器指定給它的任何屬性項。 注意:這個技術的一個缺點在于,它在某種程度上增加了生成到瀏覽器的流,并且為每行的視圖狀態增加了信息量。 private void DataGrid1_ItemDataBound(object sender,

System.Web.UI.WebControls.DataGridItemEventArgs e)

{

?? ListItemType itemType = e.Item.ItemType;

?? if ((itemType == ListItemType.Pager) ||

?????? (itemType == ListItemType.Header) ||

?????? (itemType == ListItemType.Footer))

?? {

????? return;

?? }

?? LinkButton button = (LinkButton)e.Item.Cells[0].Controls[0];

?? e.Item.Attributes[" =

????? Page.GetPostBackClientHyperlink(button, "");

} ? (--------------------Finished---------------------)

總結

以上是生活随笔為你收集整理的DataGrid Web Control 连载之九的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。