1
我想從一個GridView更新多個記錄,其中一個行更新ASP.NET網頁中的多個記錄。從單個Gridview行更新多個記錄
明晰 -
ID MyDate TeamName Attribute
1 09/04/2014 Team A Some Attribute
2 08/04/2014 Team B Some Attribute
3 07/04/2014 Team A Some Attribute
的GridView拉動記錄1但是,這樣他們有一個模板視圖來修改隱藏ID和數值指明MyDate字段。
如果用戶更改屬性字段以從'某些屬性'中讀取'不同屬性';我希望它更新記錄1 & 3屬性字段爲「不同屬性」。
所需的結果:
ID MyDate TeamName Attribute
1 09/04/2014 Team A Different Attribute
2 08/04/2014 Team B Some Attribute
3 07/04/2014 Team A Different Attribute
當前更新方法:
originalDataTable = (System.Data.DataTable)ViewState["originalValuesDataTable"];
foreach (GridViewRow r in GridView1.Rows)
if (((CheckBox)r.FindControl("CheckBox1")).Checked)
{
if (IsRowModified(r))
{ GridView1.UpdateRow(r.RowIndex, false); }
}
這裏是我的更新命令&所有參數設置:
UpdateCommand="UPDATE METRICS
SET
OWNER_INTERACTOR = :OWNER_INTERACTOR,
BACKUP_INTERACTOR = :BACKUP_INTERACTOR,
METRIC_DESCRIPTION = :METRIC_DESCRIPTION,
OFFICE = :OFFICE,
BUS_FUNCTION = :BUS_FUNCTION,
TEAM = :TEAM,
BUS_PROCEDURE = :BUS_PROCEDURE,
SUB_PROCESS = :SUB_PROCESS,
INITIATIVE = :INITIATIVE,
MISC_TEXT = :MISC_TEXT,
TIME_STAMP = :TIME_STAMP,
ACTIVE_INDICATOR = :ACTIVE_INDICATOR,
END_TIME = :END_TIME,
START_TIME = :START_TIME,
FP_5_CATEGORY = :FP_5_CATEGORY,
PS2I_CATEGORY = :PS2I_CATEGORY,
CLIENT = :CLIENT
WHERE
(DIVISION = :DIVISION) AND
(SERVICE = :SERVICE) AND
(PROCESS = :PROCESS) AND
(METRIC_TYPE = :METRIC_TYPE) AND
(METRIC_NAME = :METRIC_NAME)"
但問題是「UpdateRow 「只給出了GridView DataKeyName的那一行,我不得不省略更新多個記錄。
那麼如何讓UpdateRow真的更新多行?
另外我知道數據庫約定窗口在這裏。我在業務方面,IT只給了我一個關於Oracle的表格,我繼承了業務用戶的設計。
在此先感謝!