none
DataGridView 問題 RRS feed

  • 問題

  •  

    我利用sql語法將訂單資訊載入DataGridView ,利用View 的方法對資料進行RowFilter ,如何在數量欄位下面增加一欄數量總計欄位 謝謝 !!
    2007年10月1日 上午 01:51

解答

  • Footer,DataBound事件都是網頁程式才有的,Windows Form並沒有此東西.

     

    如果這個View只是單純的將結果顯示出來,不做任何其它動作,或許可以從SQL的Select語法那下手.

    舉例來說:

    資料如下(Table Name = OrderList)

    ProductNo , Qty

    A01          ,  10

    B03          ,  13

     

    在DataGridView上,希望看到的結果:

    A01, 10

    B03, 13

            23

     

    那Select語法可以用union的方式著手

    select ProductNo,Qty from OrderList

    union All  <--用合併結果的方式

    select '',(select sum(Qty) from OrderList) <--計算總數,前面那個ProductNo的欄位,就給個空字串.

     

    最後Fill進DataSet的結果,就會包含數量總計.

     

    另一個做法是Fill進DataSet後,再自行加總一次,將最後加總的結果,新增一筆資料進DataSet內.

     

    我比較喜歡把加總或需計算過的結果,放到其它物件去顯示,例如TextBox.

    因為有時使用者需要用排序,DataGridView的結果,可能一排序,就把加總那行移到其它地方去了.

     

    以上是個人淺見~

    2007年10月2日 上午 07:35

所有回覆

  •  

    我是直接在DataGridView 中的RowDataBound事件

    中看第幾個欄位,如此處理,記得要show footer....

    if (e.Row.RowType == DataControlRowType.Footer)
            {
                e.Row.Cells[9].Text = this.Total.ToString();
            }

    2007年10月2日 上午 01:48
  • DataGridView 找不到有Show Footer 的屬性 !! 謝謝您 ..

    2007年10月2日 上午 03:12
  • 對喔~抱歉~

    思考是否可以在資料繫結時,自行增加一筆空白資料~在DataBound事件處理,也就是在控制項已繫結資料後引發

    若你是自動繫結,那大概就只能在版面上調整使用,實際可行性和美觀可能也要測看看吧!!

     

    2007年10月2日 上午 03:21
  • 我是用SqlDataApter 用Fill 方式 ...

    2007年10月2日 上午 03:48
  • Footer,DataBound事件都是網頁程式才有的,Windows Form並沒有此東西.

     

    如果這個View只是單純的將結果顯示出來,不做任何其它動作,或許可以從SQL的Select語法那下手.

    舉例來說:

    資料如下(Table Name = OrderList)

    ProductNo , Qty

    A01          ,  10

    B03          ,  13

     

    在DataGridView上,希望看到的結果:

    A01, 10

    B03, 13

            23

     

    那Select語法可以用union的方式著手

    select ProductNo,Qty from OrderList

    union All  <--用合併結果的方式

    select '',(select sum(Qty) from OrderList) <--計算總數,前面那個ProductNo的欄位,就給個空字串.

     

    最後Fill進DataSet的結果,就會包含數量總計.

     

    另一個做法是Fill進DataSet後,再自行加總一次,將最後加總的結果,新增一筆資料進DataSet內.

     

    我比較喜歡把加總或需計算過的結果,放到其它物件去顯示,例如TextBox.

    因為有時使用者需要用排序,DataGridView的結果,可能一排序,就把加總那行移到其它地方去了.

     

    以上是個人淺見~

    2007年10月2日 上午 07:35
  •  

    謝謝你 ...
    2007年10月2日 上午 07:38