2012-03-18 11 views
-1

可能性の重複:
How to save in the dropdown the value choosed?選択した値をDropDownListの先頭に移動するにはどうすればよいですか?

私はDropDownList代わりのTextBoxGridViewと列を持っています。ドロップダウンには2つの値(1.No、2.Yes)があります。

問題は、「はい」という値しか選択できないということです。コードが背後にあるイエスのために良いのために働き、私も値号

のために追加され、私は(「はい」、例えば)値を選択した場合、別のものがあり、私はDropDownListの上にそれをもたらすことができますか、それは常にデフォルト値(値 "No")を表示しているからです。

+1

利用のselectedIndex = 1がyesの値を表示します。 – Sas

+0

私は試しました、働かなかった –

+0

うん、それは今どのように私は値を保存することができましたか?アップデート時に何かを選択すると、ドロップダウンで値が選択されます –

答えて

1

HTML

<!--Add other attributes as you need to the grid view--> 
<!--NOTE: **OnRowDataBound="GridView_RowDataBound"** --> 
<asp:GridView ID="GridView1" runat="server" 
     OnRowDataBound="GridView1_RowDataBound"> 
<Columns> 

    <asp:TemplateField HeaderText="Dropdown Column"> 
     <ItemTemplate> 
      <asp:DropDownList ID="ddlYesNo" runat="server"> 
       <asp:ListItem Value="1" Text="No"></asp:ListItem> 
       <asp:ListItem Value="2" Text="Yes"></asp:ListItem> 
      </asp:DropDownList> 
     </ItemTemplate> 
    </asp:TemplateField> 
    <!-- OTHER COLUMNS --> 
</Columns> 
<!-- REST OF THE STUFF --> 

CODE BEHIND

protected void GridView1_RowDataBound(Object sender, GridViewRowEventArgs e) 
{ 
    if (e.Row.RowType == DataControlRowType.DataRow) 
    { 
     DropDownList ddl = (DropDownList)e.Row.FindControl("ddlYesNo"); 
     ddl.SelectedValue = 
      ((System.Data.DataRowView)e.Row.DataItem) ["dataColName"].ToString(); 

    } 
} 
+0

これは何をしますか? ddl.SelectedValue = ((System.Data.DataRowView)e.Row.DataItem)["dataColName"]。ToString(); 選択した値が "dataColName"であるかどうかを確認します。dataColNameを置き換える必要がありますか? –

+0

これは、データベースの更新時にddl.SelectedValueを保存する列の名前です。更新された値を選択する必要がある場合、その値をドロップダウンリストコントロールに戻す必要があります。それが何をしているのですか?理にかなっている? – Kaf

+0

well、更新時に値がセル内に表示されるようにしたい –

関連する問題