台灣最具影響力的-資訊專家社群 - 讓您成為最有價值的IT專業人才
線上人數
649
 
會員總數:230669
接案會員:6774
文章總數:2320
討論主題:176446
歡迎您免費加入會員
討論區列表 >> ASP.NET >> 關於gridview固定欄寬&foemview取用控制項等問題懇請大大解惑阿!!

[變換順序]
[我要回覆]


回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
關於gridview固定欄寬&foemview取用控制項等問題懇請大大解惑阿!!
價值 : 80 QP  點閱數:6243 回應數:18

點圖分享到Plurk吧!
樓主


初學者
40 9
264 33
發送站內信

請問各位大大
1.gridview怎麼固定欄寬呢?
就是讀取資料時不會依資料長度而拉長欄寬

2.如果要取用foemview裡面的label控制項的值該怎麼去抓呢?

3.如果一個label有好幾行的內容該怎麼依照他的斷行分筆存入資料庫呢?
ex:lael1.text="abc" & "<br>" & "cdf" 要分abc&cdf兩筆資料個別存入資料庫

爬了些文測試過後還是沒辦法解決...ˊˋ
懇請大大們幫忙解惑阿><"

本篇文章發表於2009-02-02 02:18
什麼是iT Power資訊報 2010年藍色小舖認證專家風雲榜完全名單
1樓
不錯的參考

小玥
檢舉此回應
1.GridView不要設定width 直接設定欄位的屬性HeaderStyle(抬頭樣式)中的width寬度 和 ItemStyle(內容樣式)中的width寬度,另warp為內容換行設定TRUE為需換行 FALSE不換行(抬頭和內容樣式都有其屬性
2.Dim pLABEL As Label = CType(Me.formview.FindControl("LABEL的NAME"), Label)
pLABEL.Text<===值的內容
3.直接抓出label.text存到資料庫不是可以嗎?

不知是否是你要的資訊 ^^a希望能幫到你....


本篇文章回覆於2009-02-02 09:27
--未登入的會員無法查看對方簽名檔--
2樓
不錯的參考

真的有點難
檢舉此回應
第一個問題 試過這樣可以不會因為資料長度拉長 並且自動換行
Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound
Try
Dim i As Integer
For i = 0 To Me.GridView1.HeaderRow.Cells.Count - 1
e.Row.Cells(i).Width = 100
e.Row.Cells(i).Attributes.Add("style", "word-break :break-all ; word-wrap:break-word")
Next
Catch ex As Exception

End Try
End Sub



本篇文章回覆於2009-02-02 10:02
--未登入的會員無法查看對方簽名檔--
3樓
不錯的參考

真的有點難
檢舉此回應
第二個問題
假設您的第一個lable叫做idLabel
Try
Dim lb1 As Label = Me.FormView1.FindControl("idLabel")
Label1.Text = lb1.Text
Catch ex As Exception
End Try


本篇文章回覆於2009-02-02 10:12
--未登入的會員無法查看對方簽名檔--
4樓
不錯的參考

真的有點難
檢舉此回應
一個label內有好幾個內容 那就要看您的 "內容與內容" 間的切割規則了
建議您可以把內容依切割的規則放到array 或arraylist內這樣比較方便一點
去組您的sql command


本篇文章回覆於2009-02-02 10:16
--未登入的會員無法查看對方簽名檔--
5樓
不錯的參考

MIS2000 Lab
檢舉此回應
上一位回答的很好。

我只回答第三題,
答案:自己寫程式慢慢抓,別無他法。


本篇文章回覆於2009-02-02 10:25
--未登入的會員無法查看對方簽名檔--
6樓
作者回應


檢舉此回應
Dear小玥 & 真的有點難
看過兩位的回答後
經過測試後我可以成功抓取Formview內的label的>ˇ<
非常謝謝你們!!

至於gridview的固定欄寬還在測試中
目前是固定欄寬了 可是裡面的字會自己出超欄寬然後覆蓋到其他的欄位值∼"∼

Dear MIS2000 Lab
嗯嗯 自己寫程式慢慢抓這樣學到的東西也比較多
謝謝大大的回覆&建議


本篇文章回覆於2009-02-02 13:14
--未登入的會員無法查看對方簽名檔--
7樓
不錯的參考

小玥
檢舉此回應
"字會自己出超欄寬然後覆蓋到其他的欄位值"
請問你有將欄位 ItemStyle裡的 Warp屬性設為TRUE嗎!!?

當初我在設定GRIDVIEW的欄位寬度也很頭大...常常不是自己所想的那樣子畫面顯示
後來因為要固定表頭抬頭所以全部的欄位都設定固定的寬度,不是用%來設喔!!是設PX(HeaderStyle和ItemStyle的WIDTH都設定一樣),內容也是設定WARP=TRUE 可以自動換行
這是我個人經驗啦!! 我也是個新手....真的一切要自己去摸索測試學習,學的真的比較多喔!!



本篇文章回覆於2009-02-02 16:03
--未登入的會員無法查看對方簽名檔--
8樓
gridview欄寬部份 使用回覆第一堤做出來的結果如下

http://lh6.ggpht.com/_RzKXfh3j6mg/SYaofuVJS2I/AAAAAAAAARw/WpMnMeB6fx4/2009-2-2.jpg




本篇文章回覆於2009-02-02 16:04
--未登入的會員無法查看對方簽名檔--
9樓
作者回應


檢舉此回應
TO 小玥
我有設為true
不過還是會超出去
我看我在多試試好了︿︿
TO真的有點難
那個超連結找不到東西的說...404∼"∼



非常謝謝你們!!><"
摸索摸索ing


本篇文章回覆於2009-02-03 00:50
--未登入的會員無法查看對方簽名檔--
10樓
試試看
http://picasaweb.google.com.tw/kent313131/YOErsI#5298107274614098786

唉 google相簿 不太好用


本篇文章回覆於2009-02-03 09:59
--未登入的會員無法查看對方簽名檔--
11樓
作者回應


檢舉此回應
TO真的有點難
我測成功了>ˇ<
呵呵 非常謝謝你ˇ
(還有所以回答我問題的人=ˇ=)

另外想請問一下如果阿
只想修改gridview第一欄為固定欄寬+斷行
是把i改為0嗎?(像下面這樣?)
Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound
Try

e.Row.Cells(0).Width = 100
e.Row.Cells(0).Attributes.Add("style", "word-break :break-all ; word-wrap:break-word")
Next
Catch ex As Exception

End Try
End Sub


本篇文章回覆於2009-02-03 20:18
--未登入的會員無法查看對方簽名檔--
12樓
作者回應


檢舉此回應
上面那篇在貼上時忘記把next砍掉= =||b


本篇文章回覆於2009-02-03 20:20
--未登入的會員無法查看對方簽名檔--
13樓
e.Row.Cells(0).Width = 100 對呀 這是第一個欄位100的單位是素像


本篇文章回覆於2009-02-04 09:29
--未登入的會員無法查看對方簽名檔--
14樓
作者回應


檢舉此回應
to:真的有點難
我試了一下
Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound
Try

e.Row.Cells(0).Width = 150 '對呀 這是第一個欄位100的單位是素像
e.Row.Cells(0).Attributes.Add("style", "word-break :break-all ; word-wrap:break-word")

Catch ex As Exception

End Try
End Sub

可是他還是會依內容長度跳掉的說~"~
如果第一欄之前有個隱藏欄位 會被算為第一欄嗎?

真的有點難 非常謝謝你 你幫了我好多 謝謝m(>u<)m!!


本篇文章回覆於2009-02-04 18:07
--未登入的會員無法查看對方簽名檔--
15樓
最有價值解答

真的有點難
檢舉此回應
我試了一下第一個隱藏的欄位也算第一欄
第二欄的寫法如下
Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound
Try
e.Row.Cells.Item(1).Width = "300"
e.Row.Cells.Item(1).Attributes.Add("style", "word-break :break-all ; word-wrap:break-word")
Catch ex As Exception

End Try
End Sub

測試結果
http://picasaweb.google.com.tw/kent313131/YOErsI#5299144262857908146
http://picasaweb.google.com.tw/kent313131/YOErsI#5299144262350616802


本篇文章回覆於2009-02-05 11:07
--未登入的會員無法查看對方簽名檔--
[變換順序]
 

回覆
如要回應,請先登入.