2011-07-18 13 views
0

最初に私はとてもプログラミングに新しいので、私と一緒にいてください。DDLを使ってListViewのTempleteを編集する

私は以下を実行して、挿入テンプレート内で作業するドロップダウンリストを取得できました。

<InsertItemTemplate> 
<asp:DropDownList ID="ddlAprt" runat="server" AutoPostBack="True"> 
          <asp:ListItem>Check</asp:ListItem> 
          <asp:ListItem>Ok</asp:ListItem> 
          <asp:ListItem>Repaired</asp:ListItem> 
          <asp:ListItem>Replaced</asp:ListItem> 
       </asp:DropDownList> 
</InsertItemTemplate> 




protected void ListView1_ItemInserting(object sender, ListViewInsertEventArgs e) 
    { 
     DropDownList ddlProjectManager = (DropDownList)ListView1.EditItem.FindControl("ddlAprt"); 
     if (ddlProjectManager != null) 
      e.Values["Aprt"] = ddlProjectManager.SelectedValue; 
    } 

FYI、MYデータベースは列数(20+)を持つ予定です。選択を制限するために、上記のようにddlを使用して1つ(主キー)以外のすべてを使用しています。だから、私はそのコードを何度も繰り返し使用しています。

だから私は機能が、EditItemTempleteに同じことをする必要があります。

私はこれについていくつか心配しています。 アイテムを初めて挿入すると、すべてのddlが変更されることはありません。 このため、NULLフィールドのように動作するddlのチェック項目があります。 編集に行くと、チェックを外して移動したものがそこにとどまる必要があります。だから、彼らは誤ってチェックして戻って作業しなかったアイテムを更新することはありません(何もできません)。

普通の英語では、彼らは作業している行を更新しています。彼らはウェブページにアクセスします。編集を選択し、完了していない行の1つを探します。 ddlを使用してその行を編集し、[更新]をクリックします。彼らが作業しなかった行は、どこにあるかのようにdbに戻ります。彼らが働いている人は、「チェック」以外のものにアップデートされています。

どうすればこのようにするのですか? 次のサイトを確認しました。ここでは似たような http://www.eggheadcafe.com/community/aspnet/17/10251820/how-to-bound-values-to--dropdownlist-in-gridview--edit-item-template.aspx

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.listviewdataitem%28v=vs.90%29.aspx

1最後の事をやっているいくつかの例があり、私は、SQLデータソースを使用しています。そのように保つのが本当に好きですか? あなただけのドロップダウンリストにバインドすることができるはず

おかげで、 ジョー

+0

問題を解決してくれてありがとうございましたが、いつでも挿入物をクリックするとわかります – Itomwisp

答えて

0

良く簡単:あなたはあなたの挿入テンプレートでこれと同じバインドステートメントを使用することができるはず

<EditItemTemplate> 
<asp:DropDownList ID="ddlAprt" runat="server" AutoPostBack="True" SelectedValue='<%# Bind("Aprt")%>'> 
<asp:ListItem>Check</asp:ListItem> 
<asp:ListItem>Ok</asp:ListItem> 
<asp:ListItem>Repaired</asp:ListItem> 
<asp:ListItem>Replaced</asp:ListItem> 
</asp:DropDownList> 
</EditItemTemplate> 

また、コードビハインドページにそのコードは必要ありません。

関連する問題