我想使用下面的代碼禁用特定的grdview行,但它不禁用該行。我100%肯定在綁定到gridview的列中有一個名爲「Total Expenses」的值。更奇怪的是,我刪除了if條件(accountTextBox.Text ==「Total Expenses」),以查看是否所有行都被禁用,但只有第一行被禁用。對此有何想法?GridView行將不會禁用
更多信息:我正在使用gridview和模板字段(ASP.NET,C#)。我也運行調試器,發現accountTextBox顯示NULL。我感到困惑!
我很欣賞你的想法。謝謝
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
if (!tableCopied)
{
originalDataTable = ((System.Data.DataRowView)e.Row.DataItem).Row.Table.Copy();
ViewState["originalValuesDataTable"] = originalDataTable;
tableCopied = true;
TextBox accountTextBox = (TextBox)e.Row.FindControl("AccountTextBox");
if (accountTextBox.Text == "Total Expenses")
{
e.Row.Enabled = false;
}
}
}
tableCopied被設置在哪裏?潛在的價值不會通過PostBacks持續存在。 –
由於警備,以下行是右邊的代碼塊I之前貼以上:'公共部分類_Default:System.Web.UI.Page { 保護無效的Page_Load(對象發件人,EventArgs的) { } private bool tableCopied = false; private System.Data.DataTable originalDataTable;' – sam
你可以發佈模板標記 – fnostro