2010-09-02 42 views
1

我一直在使用jqGrid ASP .Net,真的很滿意它,但我需要一個永久空白的新行在網格的頂部,它允許用戶輸入一個新的行而不是使用添加行對話框。jqGrid ASP .Net永久'添加新行'

從查看trirand論壇,這是目前不支持'開箱'。

我看過這個論壇帖子http://www.trirand.net/forum/default.aspx?g=posts&t=212,但它不起作用(警告顯示,但沒有其他事情發生),並且還要求用戶單擊新建按鈕而不是始終位於網格頂部的新行。

任何幫助將不勝感激, 乾杯

附加信息: 我在哪裏,用戶輸入的每個新行的網格頂部想要一個永久的空白行,低於此行將是數據已經輸入(在頁面加載時從數據庫加載)。當新行被添加時(當用戶點擊進入時),行被顯示在網格中(我收集到的也會觸發OnRowAdding事件,以便插入到sql服務器中),永久性新行將清除其值新條目。我也使用內聯編輯(這是工作正常),並將更改提交到SQL Server數據庫。我通過將數據源設置爲數據表來填充網格,並調用DataBind()

回答

0

看看我爲the answer創建的this example。該示例與本地內聯編輯一起工作,並在開始時用空數據填充網格。您可以對其進行修改並僅填寫第一行的空白數據,其他所有行填充「真實」數據。

另一種方法:你可以把「新建」按鈕排以上(見Add toolbar in the bottom of the header using jqgrid介紹如何做到這一點)第二導航欄上。所以用戶會立即看到它。您也可以放置custom button而不是標準的「新建」按鈕。這個自定義按鈕(例如「+」)可以插入一個新行並進入內聯編輯模式。

如果所有這些都不是你想要的,你應該在你的問題中包括更詳細的信息你使用哪種編輯方式(內聯,單元格或表單),數據的保存位置(本地,只在服務器上還是使用loadones:true有一個混合數據保存)。

+0

奧列格,你提供的第一個例子是接近我後。我在我的文章中包含了更多信息,以便您更好地瞭解我想要實現的目標。我將與你提供的源代碼一起玩,並看看我如何去。如果你碰巧有任何提示或者做了類似的事情,那麼歡迎任何幫助:) – Maton 2010-09-02 23:03:25

0

端起來解決通過插入新行到DataTable這個問題,當我填充網格如下:

 DataRow dr = dtTimesheets.NewRow(); 
     dtTimesheets.Rows.InsertAt(dr, 0); 
     grdTimesheet.DataSource = dtTimesheets; 
     grdTimesheet.DataBind(); 

然後在RowEditing方法我檢查它是否是實際上新行並執行我插入而不是編輯,然後重新加載網格,使網格的頂部再次放置一個新的空行。