我在頁面上工作,讓用戶將excel文件導入到我們的數據庫中。我希望允許用戶在提交信息之前操作某些字段,以便從Excel文件加載DataSet並將其綁定到GridView。出於某種原因,rowUpdate我的NewValues集合是空的。使用DataSet源更新GridView
這裏是我的GridView:
<cc1:WWGridView ID="gvImportDisplay" runat="server" CssClass="grid-view" AllowSorting="false" ShowHeader="true"
AutoGenerateColumns="true"
AutoGenerateEditButton="true"
OnRowEditing="gvImportDisplay_RowEditing"
OnRowCancelingEdit="gvImportDisplay_RowCancelingEdit"
OnRowUpdating="gvImportDisplay_RowUpdating"
>
<EmptyDataTemplate>0 results found. </EmptyDataTemplate>
</cc1:WWGridView>
這裏是我的代碼背後的更新:
protected void gvImportDisplay_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
foreach (DictionaryEntry entry in e.NewValues)
{
string headerText = entry.Key.ToString();
if (string.IsNullOrEmpty(headerText))
continue;
string newValue = entry.Value.ToString();
if (excelDataSet.Tables["ExcelInfo"].Rows[gvImportDisplay.EditIndex][headerText] == null)
continue;
excelDataSet.Tables["ExcelInfo"].Rows[gvImportDisplay.EditIndex][headerText] = newValue;
}
gvImportDisplay.EditIndex = -1;
RefreshGridView();
}
「excelDataSet」是被保存在回發之間的會話頁面的一個屬性。
當我通過代碼在foreach被完全跳過,因爲e.NewValues.Count = 0
任何人都可以看到爲什麼NewValues將是空的?在更新之前是否需要重新綁定GridView?或者也許是因爲我沒有DataKey它不起作用?沒有列可以用作DataKey,因爲我不能保證任何特定的列是唯一的。
好吧,至少它不只是我。謝謝(你的)信息。 – William 2011-03-24 21:23:25