0

接続文字列を使用してデータベースに<asp:SqlDataSource接続しましたが、次のような 1 つの列を作成するために 2 つの列をマージしたいと考えていました。

Column: First Name
Column: Last Name

作成するもの:

Column: Full Name

aspx でこれを行う方法を見つけるのに苦労しましたが、ページで直接行う方法を見つけるのは非常に簡単でした。

私のSqlデータソースは次のとおりです。

<asp:SqlDataSource ID="databaseWork" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString%>" SelectCommand="SELECT  [FirstName],[LastName] FROM [People]">
    </asp:SqlDataSource>

それらをドロップダウンリストに入れたかったのです。私のドロップダウンリストは次のとおりです。

<asp:DropDownList ID="ddlPeople" runat="server" AutoPostBack="True" DataSourceID="databaseWork" DataTextField= 'FirstName' DataValueField="ID">
</asp:DropDownList>

何をしてもうまくいかなかったようで、複数のサイトに行って多くのことを試しましたが、フィールドを使用するときにフィールドを連結する代わりに、SQL クエリを変更して独自の列を作成するだけでよいことがわかりました。

同じ結果を望んでいる他の人にとって非常に役立つと思うので、私は自分の質問に答えを追加しています。

4

2 に答える 2

0

私がしたことは、2つ以上の列が一緒に作成された1つの列を達成するのが非常に簡単であることが判明しました.

私の SqlDataSource は次のとおりです。

<asp:SqlDataSource ID="databaseWork" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString%>" SelectCommand="SELECT [FirstName] + ' ' + [LastName], AS [FullName] FROM [People]">
</asp:SqlDataSource>

これをドロップダウン リストまたはグリッド ビューの列として使用する場合は、作成した新しい列を呼び出すだけです。

ドロップダウン リストの例:

<asp:DropDownList ID="ddlPeople" runat="server" AutoPostBack="True" DataSourceID="databaseWork" DataTextField= 'FullName' DataValueField="ID">

列の例を含むグリッド ビュー:

<asp:GridView
  ID="gridPeople"
  runat="server"
  DataSourceID="databaseWork"
  AllowPaging="True" 
  AllowSorting="True" 
  AutoGenerateColumns="False" PageSize="50">

    <Columns> 
        <asp:BoundField DataField="FullName" HeaderText="Full Name Column"  SortExpression="FullName" />

    </Columns>

</asp:GridView>

2 つの列を追加してドロップダウン リストまたはグリッド ビューでその場で 1 つを作成しようとする代わりに、SQL クエリ自体で列を作成し、それを呼び出す方がはるかに優れており、簡単です。FULL Name を呼び出すと、次のような結果が得られます。

  1. ジョンスミス
  2. ハンナ・モンタナ
于 2016-10-05T02:20:37.963 に答える