Plurk FaceBook Twitter 收進你的MyShare個人書籤 MyShare
  顯示內嵌語法

::旗標電腦文摘::最正確、最豐富的電腦知識寶藏!
2008-3-13│ NO416│訂閱電子報

本週活動:
‧Mac 特區─Mac OS X 10.5 使用手冊隆重登場
本期主題:
‧PhotoShop 數位美髮院-時尚流行髮色隨你變
最新主題:
‧我是台灣Wargame駭客王
‧PhotoShop運用多張煙火照, 合成璀璨煙火夜空秀
:::最新出版:::
Mac 玩家特區 X - 蘋果人最愛的超酷軟體嚴選
跟著資深蘋果玩家學習高手不傳密技, 活用國內外玩家一致推薦的超酷軟體與實用工具, 體驗 Mac 的獨到創意。 ...
CSS 設計點子爆米花
Mac 問題追緝令
The Wargame 駭客訓練基地 - 決戰台灣版
一定做得到! Photoshop 相片編修100技
ASP.NET 問題解決實戰
速習 Dreamweaver CS3 做網頁

本週活動:

遊戲影音 PLAY GAME 進化區

●不只玩遊戲,還有影音娛樂、網路功能全應用
●各式影片轉檔播放零障礙
●備份卡應用大集合


本期主題:ASP.NET 論壇問答精選:如何在網頁中顯示子母 (Master-detail) 型資料?

適用範圍:□ ASP.NET 2.0 □ ASP.NET 3.5

問題

我使用ASP.NET 2.0開發網站, 並且使用GridView來實作會員瀏覽的網頁, 但是我想要在會員有訂單時可以有一個介面來瀏覽訂單資訊, 而且就直接在同一個網頁中顯示, 不另外打開視窗或網頁, 請問我要如何做呢?

問題說明

GridView的能力是超乎許多開發人員或網頁設計人員的想像, 只要能夠善用HTML、Scripting (JavaScript) 以及ASP.NET的能力, 其實可以變化出的花樣, 也許之前想都沒想過。

在多數Master-Detail的應用程式中, 往往都是用不同的視窗來顯示主檔以及附檔的資料, 例如像這樣的模式:

 

不過這樣子的感覺總是有點怪怪的, 因為每次點了Master (主檔) 的明細時, 它就會跳到最上方, 如果是用在大量資料的話, 這似乎就不是那麼好, 雖可能有方法改善 (這不是本篇文章的重點) , 但是如果將明細直接顯示到Master記錄, 像這樣:

 

是不是就比較清楚了呢?

如果想要做到這樣的能力, 必須要滿足三件事情:
□ 取得要求明細的主檔列的列位置 (Row-position) 資料。
□ 新增新的資料列, 並將明細資料插入新的資料列中。
□ 將明細資料列插入要求明細的主檔列下方。

其中以第一件事情最難做到, 筆者待會再提, 先提比較容易的第二件與第三件事。

 

解決方案

GridView本身有一個在技術文件上鮮少看到的功能, 就是它可以由開發人員自行在GridView中自行插入新的列, 這個列物件是GridViewRow, 讀者可以把它當成一般的TableRow來看, 但它多了幾個性質, 從它的建構函式就可以得知:

public GridViewRow (
  // 列索引
  int rowIndex,
  // 資料來源索引
  int dataItemIndex,
  // 列型態 (DataRow, Pager, Footer, Separator, EmptyDataRow
  // 或 Header等) 
  DataControlRowType rowType,
  // 列狀態 (Normal, Selected, Insert, Alternate, Edit等) 
  DataControlRowState rowState
)

 

而若想要插入GridViewRow到GridView中的話, 必須要在GridView.RowCreated事件常式中, 並且依照順序來插入, 否則新插入的GridViewRow會走位, 而順序是RowIndex+2, 若是RowIndex, 則新的資料列會出現在標題列上方:


而若是RowIndex+1, 則新的資料列會出現在點選的那一列的上方:

...........更多的內容請見《ASP.NET 問題解決實戰

本期主題:PhotoShop 數位美髮院-時尚流行髮色隨你變

使用工具:色相/飽和度調整圖層‧筆刷工具‧圖層遮色片

想嘗試染髮改變一下造型, 但是又怕萬一染出來不適合自己, 馬上就後悔了怎麼辦?讓 Photoshop 來幫你吧!有了 Photoshop, 不論你想染成什麼顏色都悉聽尊便, 就算最後想要淹滅證據也是輕而易舉。

before after
攝影:張宇翔

 

Step 1 開啟準備染髮的影像後, 到圖層浮動視窗按鈕選擇色相/飽和度調整圖層, 然後依照下面的指示來設定染髮的顏色:

 

Step 2 選好顏色後按下確定鈕關閉色相/飽和度交談窗, 現在整個影像都染上剛才所設定的顏色了。

 


Step 3 接下來我們要運用色相/飽和度調整圖層的圖層遮色片, 將染色範圍限定在頭髮的部份。請選取色相/飽和度 1 圖層的圖層遮色片, 然後將前景色設成黑色後按 Alt + ←Backspace / Option + ←Backspace 鍵填滿圖層遮色片, 暫時隱藏染色的結果。再來選用白色的柔邊筆刷, 在圖層遮色片上塗抹頭髮的部份, 即可完成染髮的工作。

TIP:塗抹髮梢的時候, 可以先用白色筆刷大筆畫過, 然後再改用較細的黑色筆刷, 並稍微降低筆刷工具的不透明度來塗抹髮間空隙。


Step 4 染髮的工作到此可說已經完成了, 若有人覺得髮色還不夠自然, 可將色相/飽和度 1 圖層的混合模式改成顏色, 則髮色會顯得較有層次:

 

 

變換髮色

做好之後, 如果想要再換另一種髮色試試看, 非常簡單, 你可以直接雙按色相/飽和度 1 的圖層縮圖, 再次開啟色相/飽和度交談窗來更換顏色。若想保存之前設定的髮色, 則可再拷貝一份色相/飽和度 1 圖層, 然後開啟拷貝圖層的色相/飽和度交談窗來換色。

...........更多的內容請見《一定做得到! Photoshop 相片編修100技


好書能增進知識、提高學習效率‧ 卓越的品質是旗標的信念與堅持
Copyright c 2007 Flag Publishing Co.,Ltd. All Rights Reserved 本電子報內容未經授權請勿轉載