DataKeyNames
の値でこの問題が発生しました。各行の主キーはGameID
ですが、DataKeyNames
をGameID
に設定しても機能しません。GridViewでDataKeyNamesに問題が発生しました
フォームビューに追加情報を配置したいので、私はグリッドビューで選択を有効にしています。したがって、ユーザーがSelect
をクリックすると、フォームビューに行に関する追加情報が表示されます。
<asp:GridView ID="GridView1" runat="server" AllowPaging="True"
AutoGenerateColumns="False" CellPadding="4" DataSourceID="SqlDataSource1" DataKeyNames="Team, Opponent"
ForeColor="#333333" GridLines="None" Height="360px" Width="641px"
onselectedindexchanged="GridView1_SelectedIndexChanged" >
<AlternatingRowStyle BackColor="White" />
<Columns>
<asp:BoundField DataField="Team" HeaderText="Team" SortExpression="Team" />
<asp:BoundField DataField="Opponent" HeaderText="Opponent"
SortExpression="Opponent" />
<asp:BoundField DataField="Date" HeaderText="Date" SortExpression="Date" />
</Columns>
<FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#FFCC66" ForeColor="#333333" HorizontalAlign="Center" />
<RowStyle BackColor="#FFFBD6" ForeColor="#333333" />
<SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="Navy" />
<SortedAscendingCellStyle BackColor="#FDF5AC" />
<SortedAscendingHeaderStyle BackColor="#4D0000" />
<SortedDescendingCellStyle BackColor="#FCF6C0" />
<SortedDescendingHeaderStyle BackColor="#820000" />
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
SelectCommand="SELECT [Team], [Opponent], [Date] FROM [game] WHERE ([Team] = @Team)">
<SelectParameters>
<asp:ControlParameter ControlID="GridView1" DefaultValue="Arsenal" Name="Team"
PropertyName="SelectedValue" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
SQLデータソースにはクエリにGameIDがありません...この値はどこから来ますか? –