2012-05-07 18 views
0

リストビューにドロップダウンを作成する必要がある複雑なプロジェクトがあります。私ができること。ただし、プルダウンから正しい値を選択した後に[更新]をクリックすると、リストビューに空白の値が返されます。 月に応じて、「日」がプル独自のサンプルコードを添付しました。選択したアイテムがリストビューのドロップダウンから空白になっています

誰でもこのコードを編集してください。私が行った研究から、私はそれがSelected Indexの変化と関係があると信じています。

私は、ビジュアルWeb開発者2010を使用していますが、私はまた、あなたがドロップダウンリストで、日付が変更された後、あなたのリストビューを再バインドする必要がありますフレームワーク3.5

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
<title></title> 
</head> 
<body> 
<form id="form1" runat="server"> 
<div> 

    <asp:SqlDataSource ID="SqlDataSource2" runat="server" 
     ConnectionString="<%$ ConnectionStrings:DispatchConnectionString %>" 
     SelectCommand="SELECT [day] FROM [TMP]"></asp:SqlDataSource> 

</div> 
<asp:ListView ID="ListView1" runat="server" DataKeyNames="month" 
    DataSourceID="SqlDataSource1" InsertItemPosition="LastItem"> 
    <AlternatingItemTemplate> 
     <tr style=""> 
      <td> 
       <asp:Button ID="DeleteButton" runat="server" CommandName="Delete" 
        Text="Delete" /> 
       <asp:Button ID="EditButton" runat="server" CommandName="Edit" Text="Edit" /> 
      </td> 
      <td> 
       <asp:Label ID="monthLabel" runat="server" Text='<%# Eval("month") %>' /> 
      </td> 
      <td> 
       <asp:Label ID="dayLabel" runat="server" Text='<%# Eval("day") %>' /> 
      </td> 
     </tr> 
    </AlternatingItemTemplate> 
    <EditItemTemplate> 
     <tr style=""> 
      <td> 
       <asp:Button ID="UpdateButton" runat="server" CommandName="Update" 
        Text="Update" /> 
       <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" 
        Text="Cancel" /> 
      </td> 
      <td> 
       <asp:Label ID="monthLabel1" runat="server" Text='<%# Eval("month") %>' /> 
      </td> 
      <td> 
       <%--<asp:TextBox ID="dayTextBox" runat="server" Text='<%# Bind("day") %>' />--%> 
       <asp:DropDownList ID="list" runat="server" DataSourceID="SqlDataSource2" 
         DataTextField="day" DataValueField="day"> 
        </asp:DropDownList> 
      </td> 
     </tr> 
    </EditItemTemplate> 
    <EmptyDataTemplate> 
     <table runat="server" style=""> 
      <tr> 
       <td> 
        No data was returned.</td> 
      </tr> 
     </table> 
    </EmptyDataTemplate> 
    <InsertItemTemplate> 
     <tr style=""> 
      <td> 
       <asp:Button ID="InsertButton" runat="server" CommandName="Insert" 
        Text="Insert" /> 
       <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" 
        Text="Clear" /> 
      </td> 
      <td> 
       <asp:TextBox ID="monthTextBox" runat="server" Text='<%# Bind("month") %>' /> 
      </td> 
      <td> 
       <asp:TextBox ID="dayTextBox" runat="server" Text='<%# Bind("day") %>' /> 
      </td> 
     </tr> 
    </InsertItemTemplate> 
    <ItemTemplate> 
     <tr style=""> 
      <td> 
       <asp:Button ID="DeleteButton" runat="server" CommandName="Delete" 
        Text="Delete" /> 
       <asp:Button ID="EditButton" runat="server" CommandName="Edit" Text="Edit" /> 
      </td> 
      <td> 
       <asp:Label ID="monthLabel" runat="server" Text='<%# Eval("month") %>' /> 
      </td> 
      <td> 
       <asp:Label ID="dayLabel" runat="server" Text='<%# Eval("day") %>' /> 
      </td> 
     </tr> 
    </ItemTemplate> 
    <LayoutTemplate> 
     <table runat="server"> 
      <tr runat="server"> 
       <td runat="server"> 
        <table ID="itemPlaceholderContainer" runat="server" border="0" style=""> 
         <tr runat="server" style=""> 
          <th runat="server"> 
          </th> 
          <th runat="server"> 
           month</th> 
          <th runat="server"> 
           day</th> 
         </tr> 
         <tr ID="itemPlaceholder" runat="server"> 
         </tr> 
        </table> 
       </td> 
      </tr> 
      <tr runat="server"> 
       <td runat="server" style=""> 
       </td> 
      </tr> 
     </table> 
    </LayoutTemplate> 
    <SelectedItemTemplate> 
     <tr style=""> 
      <td> 
       <asp:Button ID="DeleteButton" runat="server" CommandName="Delete" 
        Text="Delete" /> 
       <asp:Button ID="EditButton" runat="server" CommandName="Edit" Text="Edit" /> 
      </td> 
      <td> 
       <asp:Label ID="monthLabel" runat="server" Text='<%# Eval("month") %>' /> 
      </td> 
      <td> 
       <asp:Label ID="dayLabel" runat="server" Text='<%# Eval("day") %>' /> 
      </td> 
     </tr> 
    </SelectedItemTemplate> 
</asp:ListView> 
<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
    ConnectionString="<%$ ConnectionStrings:DispatchConnectionString %>" 
    DeleteCommand="DELETE FROM [TMP] WHERE [month] = @month" 
    InsertCommand="INSERT INTO [TMP] ([month], [day]) VALUES (@month, @day)" 
    SelectCommand="SELECT * FROM [TMP]" 
    UpdateCommand="UPDATE [TMP] SET [day] = @day WHERE [month] = @month"> 
    <DeleteParameters> 
     <asp:Parameter Name="month" Type="String" /> 
    </DeleteParameters> 
    <InsertParameters> 
     <asp:Parameter Name="month" Type="String" /> 
     <asp:Parameter Name="day" Type="String" /> 
    </InsertParameters> 
    <UpdateParameters> 
     <asp:Parameter Name="day" Type="String" /> 
     <asp:Parameter Name="month" Type="String" /> 
    </UpdateParameters> 
</asp:SqlDataSource> 
</form> 
</body> 
</html> 

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
//using System.Web.UI.WebControls.button; 
using System.Data; 
using System.Data.SqlClient; 
using System.Configuration; 

public partial class _Default : System.Web.UI.Page 
{ 
protected void Page_Load(object sender, EventArgs e) 
    { 

    } 
} 

答えて

0

を使用しています を表現します。 EditItemTemplateにドロップダウンリストがあることがわかります。リストビューの更新イベントを処理し、udpated日のデータソースを再バインドします。

関連する問題