Re: [問題] 如何使用GridView新增自訂屬性?
※ 引述《Syung1983 (小永)》之銘言:
: 感謝大大的回應 目前己解決
: 因TonyQ大說的TemplateField 我比較不熟
: 所以嘗試用grence大的方式
: 怕以後還會用到 在這裡記一下
: 假設在GridView第3行有HpyerLink 則在建立時新增一個事件
: 程式碼應該類似下面這樣
: protected void gridView_RowCreated
: (object sender, GridViewRowEventArgs e)
: {
: if (e.Row.RowType = = DataControlRowType.DataRow)
: {
: HyperLink myHyperLink = (HyperLink)e.Row.Cells[2].Controls[0];
: myHyperLink.Attributes.Add("summary", "XXX");
: }
: }
: 如果有更合適的方法,也煩請各位大大不吝指教
: 只是這樣的方式只能新增固定的 屬性 跟 屬性值
: 假設要依不同資料內容作變更的話 恐怕不適用
: 不過這種方式可以滿足我目前的需求了
: 進階的方法就先不傷腦筋 交給其它人吧
要依不同資料作變更的時候就換template filed上場了,
像是這個case是對f_name加上 hyperlink ,
<asp:TemplateField HeaderText="寵物名稱" SortExpression="f_name">
<ItemTemplate>
<a href="listUserPet.aspx?pId=<%# Eval("f_id") %>">
<%#Eval("f_name") %>
</a>
</ItemTemplate>
</asp:TemplateField>
這是基本的 , 但是當然可以再玩一些進階的 ,
假設我現在嫌名字太長 , 超過四個字的我要截短.
<asp:TemplateField HeaderText="寵物名稱" SortExpression="f_name">
<ItemTemplate>
<a href="listUserPet.aspx?pId=<%# Eval("f_id") %>">
<%# shortenName((String)Eval("f_name")) %>
</a>
</ItemTemplate>
</asp:TemplateField>
前端接一個 shortenName(String) method ,
後端.cs 再來定義
public String shortenName(String orgName){
if(orgName.Length>4){
return orgName.Substring(0, 4);
}
return orgName;
}
諸如此類的 , template field 的彈性蠻大的.
--
What do you want to have ? / What do you have?
從書本中,你可以發現我的各種興趣。
從CD中,你可以瞭解我所喜歡的偶像明星。
或許從文字你很難以瞭解一個人,但從物品可以。
My PPolis , My past. http://ppolis.tw/user/Tony
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 221.169.78.140
推
04/15 16:34, , 1F
04/15 16:34, 1F
→
04/16 17:21, , 2F
04/16 17:21, 2F
→
04/16 17:58, , 3F
04/16 17:58, 3F
→
04/16 17:58, , 4F
04/16 17:58, 4F
→
04/16 18:08, , 5F
04/16 18:08, 5F
→
04/16 18:09, , 6F
04/16 18:09, 6F
→
04/16 18:12, , 7F
04/16 18:12, 7F
→
04/16 18:25, , 8F
04/16 18:25, 8F
→
04/16 18:26, , 9F
04/16 18:26, 9F
→
04/16 18:26, , 10F
04/16 18:26, 10F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):