大大毛 的筆記

            DDM's Note

          哪怕沒有辦法一定有說法,
          就算沒有鴿子一定有烏鴉,
          固執無罪 夢想有價,
          讓他們驚訝.

          posts - 14, comments - 23, trackbacks - 0, articles - 58
             :: 首頁 ::  :: 聯系 ::  :: 管理

          GridView在DataTable空行時不顯示的處理

          Posted on 2006-09-25 02:00 大大毛 閱讀(3365) 評論(1)  編輯  收藏 所屬分類: ASP.NET

          ???問題:

          ??????GridView控件應用很是廣泛,通常將它與DataSourceControl搭配使用,當然也可以手工指定DataSource屬性來完成數據綁定。如果數據源返回一個空行的數據集(例如查詢不到指定記錄等)時,將會出現兩種情況:
          ??????1.當GridView未指定<EmptyDataTemplate>或EmptyDataText屬性時,控件將不會被最終生成,網頁上的表現為空白,這樣不僅感覺不爽,而且很容易造成布局的變形。
          ??????2.如果指定了<EmptyDataTemplate>或EmptyDataText屬性,網頁上將最終產生一個table元素,它具有一行一格,可以顯示出設置的提示信息,但是這種情況下該table將不會顯示出表頭來。
          ??????通常希望的是,即使數據源返回一個空行的數據集,但是原有的Table元素也應該被顯示出來,它應該帶一個表頭行,以及一個空白行。


          ???解決辦法:

          ??????通過手工向數據源添加一個新行即可解決。在此過程應該處理好以下幾個方面的事情。
          ??????1.在 New 一行時,如果包含主鍵列,則該列的值會被自動賦值(如 int 列會被賦值 0 )。對此應該手工將新行的每一列都賦值為 DBNull.Value?;
          ??????2.由于可能存在有非空約束,會造成插入失敗,因此必須手工將每一列的 AllowDBNull 屬性重新設定
          ??????以下示例 GridView 綁定至 ObjectDataSource 時的處理代碼:
          Selected事件

          ??????效果示意如下:
          標題1標題2標題...
          ???

          ??????就此來說效果并不是十分理想,如果能夠實現以下的效果那就更好了:
          標題1標題2標題...
          沒有查找到符合條件的記錄


          ??????為達成目的,還需要在 GridView 中加一點小改進,處理一下那個空行。

          DataBound事件

          ??????如此一來,配合 GridView 的 EmptyDataText , EmptyDataRowStyle 即可以實現令人滿意的效果,見下圖。

          ????????????GridView空數據集效果圖


          評論

          # re: GridView在DataTable空行時不顯示的處理  回復  更多評論   

          2008-08-13 19:15 by bejon阿牛
          謝謝!

          i am ddm

          主站蜘蛛池模板: 巴中市| 巩留县| 荥阳市| 凤冈县| 梨树县| 常宁市| 沙洋县| 偏关县| 扶沟县| 临清市| 景宁| 明光市| 桐柏县| 增城市| 梧州市| 桃园县| 保定市| 金门县| 信丰县| 华安县| 门头沟区| 龙胜| 买车| 贡嘎县| 新蔡县| 二手房| 湘乡市| 和林格尔县| 双流县| 秦皇岛市| 河东区| 云和县| 遂宁市| 崇信县| 奉贤区| 句容市| 襄城县| 宁陵县| 通山县| 东方市| 大邑县|