我已經構建了一個前端來更新GridView中選定記錄的單個列。我已經知道所有的設置都是按照我希望它的工作方式進行的,包括執行檢查以確保選中多行(通過添加到GridView的模板字段複選框),並且已從列表中選擇了一列下拉列表。 Stored Proceedure或GridView DataSource
我把所有東西放到必須構建的代碼塊上,以便對所選行進行實際更新。這將循環遍歷每一行,所以如果我選擇了5行,它會觸發該代碼5次,並更新與該行關聯的記錄ID。
我主要與自己辯論,這將是最簡單的構建。我首先想到在SQL Server上執行一個存儲過程,併爲它提供記錄ID,要更新的列以及要寫入更新的值。但後來我開始考慮它,並意識到我有一個數據源的GridView,已經設置爲更新記錄,只要我叫它
無論哪種情況下,我需要刷新後的GridView更新已完成。
只是想知道別人可能會認爲什麼是最乾淨的方法,只是我的選擇可能是什麼。我從來沒有看到實施過多行的列編輯,所以有人可能比我有更好的想法如何去做這件事。
這裏是我的更新代碼塊,因爲它是現在...
protected void SaveColEditBtn_Click(object sender, EventArgs e)
{
//Read the column select drop down List into Local Varriables
String SelectedColumnItem = ColumnSelectDDL.SelectedItem.ToString();
String SelectedColumnValue = ColumnSelectDDL.SelectedValue.ToString();
List<int> EditRows = new List<int>();
List<string> recordnumber = new List<string>();
foreach (GridViewRow grv in ActVulListGV.Rows)
{
if (((CheckBox) grv.FindControl("TagRowChkBx")).Checked == true)
{
//get current row rowindex if checkbox in it is checked
EditRows.Add(grv.RowIndex);
//get the record number (RecID)
recordnumber.Add(grv.Cells[2].Text.ToString());
}
}
int[] ERows = EditRows.ToArray();
if (recordnumber.Count > 1)
{
if (ColumnSelectDDL.SelectedValue.ToString() == "TicketNumber")
{
// Save Ticket number //
}
else if (ColumnSelectDDL.SelectedValue.ToString() == "TicketClosed")
{
// Save Ticket Closed Value //
}
else if (ColumnSelectDDL.SelectedValue.ToString() == "Notes")
{
// Save Notes //
}
else if(ColumnSelectDDL.SelectedValue.ToString() == "Exception_ID")
{
// Save Exception ID //
}
EditColMsgLbl.Font.Bold = true;
SelectedRowsMsgLbl.Font.Bold = true;
ColEditPnlExt.Show();
EditColLbl.Text = SelectedColumnItem;
SelectedRowsLbl.Text = "";
foreach (string record in recordnumber)
{
// Insert the call of the procedure here to update the database
}
}
else
{
UserMessageLbl.Text = " *** Choose 2 or more rows to use column edit feature! ***";
mpePopUp.Show();
}
}
這取決於。如果您通過循環一次全部更新,請使用存儲過程。不過用'EditIndex'逐個更新,使用源代碼更容易。不過,我會推薦使用後面的代碼和SP來更新一行,然後你可以使用相同的SP來更新單個或所有行(這裏有很好的教程:http://www.ezzylearning.com/tutorial/editing-data-使用-asp-net-gridview -control) – VDWWD
@VDWWD我想現在就關閉它,但我也想給你的迴應。你能否重新提交答案作爲答案? 我選擇了一個SP,這是我第一次嘗試開始,但是正如我提到的那樣,我有一個DS準備好去的想法,讓我想知道這是否是最方便的選擇。感謝您的輸入和網址。 –
嗨,肯。我已經加入了一個答案。 – VDWWD