不知大家都是怎麼樣去設計ASP程序的,我在CSDN中搜索過N多的資料,全部都是新增之後就保存的.我不明白. 我說說我的要求,看大家能不能幫得上:
其實就是一個主從表結構,比如說吧,一個部門有N個同事.在輸入資料的時候,我要求做到輸入部門資料後,沒保存前,用一個datagrid輸入部門成員,這個部門成員可以有N個. 在全部輸入完成後,再一同提交保存. 本來我是很想找到在客戶端增加datagrid新行的方法,但兩天過去了還沒有找到,只好將就接受服務端的方法, 但我要求同時提交數據庫而不是增加一個提交一個. 哪位高手能指點一下迷津啊,謝謝了

解决方案 »

  1.   

    先把数据添加到 DataSet 里面,等数据输入完之后一起来更新 DataSet.
      

  2.   

    用TABLE吧。。http://blog.csdn.net/cnhgj/archive/2004/11/04/167145.aspx
      

  3.   

    大哥,這個我知道呀,我的問題是如何讓datagrid這個控件增加新行而讓原有的數據不跑掉啊,比如原有一個部門人事部已錄有三個人,當我檢索出來時會有三條記錄,點新增後,我希望datagrid這個控件增加第四行,輸入後再點新增,又增加第五行,...
      

  4.   

    并没跑掉啊.你从读取记录集ds转到datatable,然后新加一行datatable原来的数据还是在的啊.
    然后把datatable绑定datagrid来看就行了..
      

  5.   

    TO:  cnhgj(戏子)(黄某人养不成沙皮狗) 
    說實話,.NET的那個table我不知那來做什麼用的,什麼東西都放不上去
      

  6.   

    我是這樣寫的:
     Private Sub DataGrid1_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.ItemCommand
            
            Select Case e.CommandName
                Case "Insert"
                    Dim newrow As Data.DataRow
                    newrow = Me.DataSet_child1.web_quest_main.NewRow
                    Me.DataSet_child1.web_quest_main.Rows.Add(newrow)
                    Me.DataGrid1.DataBind()
                Case "Delete"
            End Select
        End Sub
    如果我將Me.DataGrid1.DataBind()這兩條去掉的話,是有四條記錄的,可現在變成只有一條空行了
      

  7.   

    不知道这个是不是你想要的:
    用DataRow对象在Datagrid控件中添加新行:        Dim tmpRow As DataRow
            ......
            tmpRow = myds.Tables("salary_test").NewRow
            ......
            myds.Tables("salary_test").Rows.Add(tmpRow)
      

  8.   

    TO  matchchen() :你的寫法和我的基本上是一樣的啊,它只會得一個新行,原來的行就不見了.我奇怪,很多人都說DATAGRID強大無比,難道從來沒有人象我這樣用過嗎?
      

  9.   

    试试
    ---1:首先获取你的原有数据,放到Session里面
    ---2:增加记录的时候,对这个Session里面的DataTable插入新行
    ---3:增加完毕之后,Grid的DataSource = 这个DataTable,然后重新绑定Grid
      

  10.   

    我試過了,就是不行. 說一下我的問題在哪:
    我是在DATAGRID中有一個模板,模板中有N個textbox. 在模板的Header放了個按鈕,commandname="Insert" .
     Private Sub DataGrid1_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.ItemCommand      
            Select Case e.CommandName
                Case "Insert"
                  Dim newrow As Data.DataRow
                  newrow = Me.DataSet_child1.web_quest_main.NewRow
                  Me.DataSet_child1.web_quest_main.Rows.Add(newrow)
                  Me.DataGrid1.DataBind() '將這句屏蔽掉的話,有四行資料出來,放開則只得一個空行
                Case "Delete"
            End Select
    End Sub
    我現在想做的是,點擊此按鈕在datagrid增加一個空行,包括模板中的textbox也增加出來.
    brightheroes(闭关|那一剑的风情) 的方法我沒試,那太複雜了,我有幾十個字段,那不是很累人的
      

  11.   

    在datatable里面把空白行加好,然后绑定到DG上,在DG上使用TemplateColumn,记住使用TextBox! 然后就可以全部输入了!
      

  12.   

    我知道問題出在哪了,事實上datagrid只是一個顯示用的東西,每刷新一次都要重新綁定. 也就是說每次刷新時,都要如brightheroes(闭关|那一剑的风情)所說的一樣,先將原有的資料讀取出來,再插入到新的dataset中,再綁定. 可現在問題又來了, 我如何得知datagrid現在有多少行數據? 不算查datatable的行數,我只是要查datagrid的行數.說句題外話, 以前看到有人說datagrid功能強大. 我現在真的很吃驚. 這也叫強大