2011-04-30 48 views
3

功能要求是從數據庫(SQL Server)中提取學生列表(3種顏色),並將其顯示在網頁上,並在每行前面的空白字段中輸入數據。接下來,允許用戶在測試中輸入學生評分的分數,並更新數據庫中的分數。如何使用單擊按鈕單擊ASP.net中的gridview更新多行?

現在,我知道這可以通過將更新按鈕字段作爲單獨的顏色使用gridview來完成。但是在這種情況下,每行前面會有一個更新按鈕,用戶需要爲每個學生點擊它(超過100個)。這對用戶來說是一項乏味的任務。

我希望該用戶輸入所有學生的標記,然後單擊只有一個按鈕,這將更新所有行。

按鈕點擊事件我們可以使用foreach循環爲GridViewRows,但請幫助我的用戶界面。如何使它成爲可能?如何使用單擊按鈕而不是'n'點擊?

可以使用gridview來完成嗎?或者是否有其他可以完成任務的東西?

感謝

+0

爲什麼你不想使用循環? – 2011-04-30 13:52:04

回答

7

地方模板字段內的文本框在第四列

<asp:TemplateField HeaderText="Marks Scored"> 
    <ItemTemplate> 
     <asp:TextBox runat="server" ID="txtMarksScored" /> 
    </ItemTemplate> 
</asp:TemplateField> 

然後點擊按鈕事件循環中通過網格視圖行並返回文本框來獲取輸入值。

protected void Submit_Click(object sender, EventArgs e) 
{ 
    foreach (GridViewRow gvr in GridView1.Rows) 
    { 
     TextBox txtMarksScored = (TextBox)gvr.FindControl("txtMarksScored"); 
     // Hope you understand what to do next? 
     // txtMarksScored.Text 
    } 
} 
+0

很好的示例,我現在正在嘗試它,對於像Excel這樣的Excel – ShaunOReilly 2012-05-29 07:21:10

+0

這裏我想從mysql獲取數據,並在textbox.and中顯示以前的記錄,然後想要編輯。如何做到這一點? – 2017-03-03 12:34:04

0

多行編輯的完整解決方案可在Matt Dotsons Blog找到。我在我自己的應用程序中使用它。

除了註冊新的gridview類型和將現有的asp:GridView與新類型交換以外,至少需要做的是告訴GridView「SaveButton」的ID。這個按鈕然後會觸發每一行改變的RowUpdating/Updated事件。

請參閱Dotsons博客文章的詳細信息和可下載的源代碼。

相關問題