none
一個關於Gridview的問題 RRS feed

  • 問題

  • 各位大大, 我現在用的是gridview顯示access的資料. 其中有一個名duraiton的欄位我希望可以加入一些計算函數在裏面, 已顯示處理每個job所用的的total working days. 但是我在gridview裏面並沒有找到任何地方可以寫入函數的地方. 原來用PB的時候都是在datawindow裏面setup, 請問在gridview裏面有這樣類似的功能嗎?另外各位有什麼好的方法計算總工作天的嗎?  Thanks

    2008年9月2日 上午 02:48

解答

所有回覆

  • HI,

     

    比較簡單的做法是在查詢敘述計算好, 再交給GRIDVIEW顯示

     

    tihs

     

    • 已標示為解答 Lolota Lee 2009年2月13日 上午 06:25
    2008年9月2日 上午 02:53
  • 你的意思是在access查詢那裏先做好嗎?? 我不是很明白, 可以請你說得detail一點嗎??

    我開始想得是比較簡單, 就是用我資料庫裏面的(enddate-startdate)/7*5就算了, 不去考慮假期的因素

     

    2008年9月2日 上午 03:02
  • 還是不知道應該怎麼做, 有人指教一下嗎?

    2008年9月2日 上午 07:35
  • tihs 給的已經是明白的指示了,如果能夠在 SQL 中做掉就在 SQL 中做掉。

    如果不行要拿到前端做,可能就要利用 GridView 的 RowDataBound 一個一個算,或者是在綁到 GridView 前先算好。

     

    2008年9月4日 上午 09:39
    版主
  • 我覺得還是在gridview顯示前就計算比較好, 但是我看完MSDN裏面的sample,我不是很理解是通過什麼方法找到我需要
    girdview display前所需要改動的field. 是直接用類似e.Row.Cells(1)這樣就可以了嗎? 例如我的duration是第
    7行資料, 就是改成e.Row.Cells(7)? For my case, durationstartdayendday的日期差別. 
    我就再用select的方法: select DateDiff(DateInterval.Day, startday, endday) as duration.
    請大大幫忙稍微看一下是否可以, 謝謝

     

     <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <script runat="server">
     Sub CustomersGridView_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs)
        If e.Row.RowType = DataControlRowType.DataRow Then
          ' Display the company name in italics.
          e.Row.Cells(1).Text = "<i>" & e.Row.Cells(1).Text & "</i>"
        End If
      End Sub
    </script>
     
     
     

     

    2008年9月5日 上午 02:24
  • 在 .NET 中,陣列的索引都是由 0 開始

     

    2008年9月5日 上午 02:32
    版主
  • OK,除了这样之外我其他的理解有问题吗?先通过select daydiff as duration1计算出日期的差别, 
    然后再用类似e.Row.Cells(1).Text =duraiton1进行批量的更新? 

     

     

    2008年9月5日 上午 03:06
  • 如果你沒有要對 GridView 中的資料做修改,是不需要做 RowDataBound 的處理。

    2008年9月5日 上午 03:12
    版主
  • 我現在也嘗試在access裏面直接用查詢計算,比較簡單點.现在已经建好了一个更新duration的查询,想問一下gridview顯示資料庫的時候怎樣可以做到this所說的先查詢再交給gridview顯示呢?問得很白請不要介意, thanks alot

     

    2008年9月5日 上午 04:56
  • 你可以在sql裡面先把你要計算的total working days.  先算出來

    可以使用SQL語法的一些匯總函數做計算

    EX: sun() 之類的

    2008年9月18日 上午 06:03