GridViewの列にそのIDに対応する名前が表示されるようにするにはどうすればよいですか?
Iveには、ホームと離れたチーム名として表示したいSQLデータソースに接続されたGridViewがあります。代わりに、Home_Team_ID
とAway_Team_ID
は、両側のTeam_ID that is stored in another table. I've tried "Bind("Team_name")" but this returns the first team name in the
Team`テーブルと一致するため、検索できます。これをどうやって解決するのですか?各家庭でアウェイチームの列はそのIDが(この場合は8と32で)私はそれらに対応するTeam_IDs
例えばとこれらを交換したいと言う
<asp:GridView ID="EnterMatchGridView" runat="server" AutoGenerateColumns="False" DataKeyNames="Team_ID" DataSourceID="SqlDataSource2" OnRowDataBound="EnterMatchGridView_RowDataBound">
<Columns>
<asp:TemplateField HeaderText="Home_team_ID" SortExpression="Home_team_ID">
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Home_team_ID") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("Home_team_ID") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Away_team_ID" SortExpression="Away_team_ID">
<EditItemTemplate>
<asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("Away_team_ID") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Bind("Away_team_ID") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Home_team_score" HeaderText="Home_team_score" SortExpression="Home_team_score" />
<asp:BoundField DataField="Away_team_score" HeaderText="Away_team_score" SortExpression="Away_team_score" />
<asp:TemplateField HeaderText="Game_date" SortExpression="Game_date">
<EditItemTemplate>
<asp:TextBox ID="TextBox3" runat="server" Text='<%# Bind("Game_date") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# Bind("Game_date") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:SportsData2ConnectionString %>" SelectCommand="SELECT MatchStatistics.Home_team_ID, MatchStatistics.Away_team_ID, MatchStatistics.Home_team_score, MatchStatistics.Away_team_score, MatchStatistics.Game_date, Team.Team_ID, Team.Team_name FROM MatchStatistics INNER JOIN Team ON (MatchStatistics.Home_team_ID = Team.Team_ID OR MatchStatistics.Away_team_ID = Team.Team_ID) AND MatchStatistics.Home_team_ID = Team.Team_ID WHERE (Team.Team_ID = @Team_ID)">
<SelectParameters>
<asp:ControlParameter ControlID="HomeFormDDL" Name="Team_ID" PropertyName="SelectedValue" Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>
アストン・ヴィラとノーリッチは、それぞれTeam_ID
8と32です。
「8」を表示する代わりに、「Dodgers」などを表示したいですか? – gmiley
はい!ホームチームとアウェイチームのIDは、外部キーなのでTeam_IDと一致します。 –
データの生成に使用するSQLクエリはどのようなものですか?また、グリッドに読み込まれるデータのサンプルを提供できますか?データが正しいと仮定すると、idと同じ方法でチーム名を含む列をバインドすることができます。 – gmiley