2012-03-26 101 views
-1

我有一個簡單的DropDownList。一列與控制DropDownList。 DropDownList包含2個值:No/Yes。我對它沒有約束力。編輯gridview時,將值設置爲dropdownlist?

GridView1_rowEditing我想設置一個值到DropDownList像SelectedValue = "1";。所以每次有人按Edit時,這個值都被設置爲DropDownList。 我不想綁定數據庫或某些東西的值,只需將值設置爲它。

回答

0

使用GridView1_rowEditing事件搜索您的DropDownList其ID財產FindControl方法

Int32 rowIndex = e.NewEditIndex; 
//////////////////////////////////////////////// 
GridView1.DataSourceId = "SqlDataSource1" 
GridView1.DataBind() 
////////////////////////////////////////////////// 
DropDownList DropDownList1 = (DropDownList)GridView1.Rows[rowIndex].FindControl("DropDownList1"); 
DropDownList1.SelectedValue = "No"; 

編輯 對不起,您需要將不indside什麼RowEditing事件將是裏面RowDataBinding事件的您GridViewRowDataBinding是你行真正得到它的數據和控制

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    if (e.Row.RowType == DataControlRowType.DataRow && 
    (e.Row.RowState & DataControlRowState.Edit) == DataControlRowState.Edit) 
    { 
     DropDownList DropDownList1= (DropDownList)e.Row.FindControl("DropDownList1"); 
     DropDownList1.SelectedValue = "No"; 
    } 
} 
+0

我想我接近我正在尋找的問題是,如果我按編輯,我得到的錯誤:對象reerence未設置爲對象的實例(MyDDL.SelectedValue =「否」;) – 2012-03-26 13:52:21

+0

你可以使用你的'GridView'代碼?,這將有助於我們確定問題所在。 – 2012-03-26 15:03:23

+0

這是我的實際代碼http://pastebin.com/sCEmgdNe – 2012-03-26 15:15:02

0

爲什麼你正在使用用於處理下拉列表中的值這個服務器端事件的地方.. ???? ,你說你的DDL被默認設置爲「NO」,其也沒有databinded ...... 所以除去這些liness..only寫這兩行...

GridView1.EditIndex = e.NewEditIndex; 
GridView1.DataSourceId = "SqlDataSource1" 
GridView1.DataBind(); 
+0

是的,我做到了,錯誤仍然存​​在 – 2012-03-26 14:02:29

+0

在你的gridview..Edititemtemplates ..你已經定義了一個ddl..simply你必須定義2個列表項像< asp:ListItems Text =「No」Value =「1」seleted =「true」> .....所以每次單擊eidt項目時,ddl的值是默認情況下不是.. ??那麼最後的問題.. – Tami 2012-03-26 14:09:35

+0

1.下面的代碼應該設置爲下拉列表中的值yes,但是當我用瀏覽器中的gridview打開頁面並單擊編輯時,它會給出我錯誤2.我需要知道如何從列表中設置一個值,每次單擊編輯按鈕,一個d似乎下面的代碼沒有工作,我不知道爲什麼。是的默認值爲 – 2012-03-26 14:15:12

相關問題