2011-02-01 12 views
1

私はグリッドビューを持っています。行を選択すると、そのエントリの詳細を表示してデータを編集できるフォームビューに移動します。これは私が1つだけのフィルタパラメータを持っていたときに機能しましたが、もう1つ追加しましたが、今度はフォームビューが空白になります。ここに私のコードです:もちろんgridview to formview - フォームビューにデータが表示されない

<asp:AccessDataSource ID="courseinfo" runat="server" DataFile="~/App_Data/courseinfo.mdb" SelectCommand="SELECT [prefix], [course_number], [title], [date_submitted] FROM [tableCourse]"> 
</asp:AccessDataSource> 

<asp:AccessDataSource ID="courseinfo2" runat="server" DataFile="~/App_Data/courseinfo.mdb" FilterExpression="prefix='{0}' AND course_number='{1}'" SelectCommand="SELECT * FROM [tableCourse]"> 
<FilterParameters> 
    <asp:ControlParameter Name="prefix" ControlID="GridView1" PropertyName="SelectedValue" /> 
    <asp:ControlParameter Name="course_number" ControlID="GridView1" PropertyName="SelectedValue" /> 
</FilterParameters> 
</asp:AccessDataSource> 

<asp:GridView ID="GridView1" runat="server" DataSourceID="courseinfo" DataKeyNames="prefix,course_number" 
        OnSelectedIndexChanged="GridView1_SelectedIndexChanged" AutoGenerateColumns="False" 
        CellPadding="8" ForeColor="#333333" GridLines="vertical" BorderWidth="1" BorderColor="#dddddd" 
        AllowPaging="true" AllowSorting="true" AutoGenerateSelectButton="true"> 
        <RowStyle BackColor="#eeeeee" /> 
        <Columns> 
         <asp:BoundField DataField="prefix" HeaderText="prefix" SortExpression="prefix" /> 
         <asp:BoundField DataField="course_number" HeaderText="number" SortExpression="course_number" /> 
         <asp:BoundField DataField="title" HeaderText="title" SortExpression="title" /> 
         <asp:BoundField DataField="date_submitted" HeaderText="date submitted" SortExpression="date_submitted" /> 
        </Columns> 
        <FooterStyle BackColor="black" Font-Bold="True" ForeColor="White" /> 
        <PagerStyle BackColor="black" ForeColor="White" HorizontalAlign="Center" /> 
        <SelectedRowStyle BackColor="#c0c0e0" Font-Bold="True" ForeColor="#333333" /> 
        <HeaderStyle BackColor="#000000" Font-Bold="True" ForeColor="#eeeeee" /> 
        <EditRowStyle BackColor="#2461BF" /> 
        <AlternatingRowStyle BackColor="White" /> 
       </asp:GridView> 

<asp:FormView ID="FormView1" runat="server" DefaultMode="Edit" DataSourceID="courseinfo2" 
       DataKeyNames="prefix,course_number" Width="100%"> 

FormViewコントロールが完了したが、それは誰もがそれを見たいならば、私はそれを投稿することができますが、私は、ここにいることを含んでいなかった多くのコードが含まれています。

答えて

0

複数のデータキーを持つため、両方のプロパティとして値を選択できないため、コントロールパラメータを次のように変更できます。ただし、これは動作します:

<asp:ControlParameter Name="prefix" ControlID="GridView1" PropertyName="SelectedDataKey.Values[prefix]" Type="String" /> 
    <asp:ControlParameter Name="course_number" ControlID="GridView1" PropertyName="SelectedDataKey.Values[course_number]" Type="Int32" /> 
関連する問題