Asp.Net SqlDataSource 将两列绑定到 ASPX 中的一列
Asp.Net SqlDataSource bind two columns together into one column in ASPX
我有一个 <asp:SqlDataSource
使用连接字符串连接到数据库,但是我想将 2 列合并在一起以创建 1 列,例如:
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 查询并创建我自己的列当我使用它们时将字段连接在一起。
我正在为我自己的问题添加一个答案,因为我相信这对其他想要相同结果的人非常有帮助。
事实证明,我所做的非常简单,可以实现 1 列同时创建了 2 列或更多列。
我的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>
与其尝试添加两列以在下拉列表或网格视图中动态创建一列,不如在 SQL 查询本身中创建列并简单地调用它要好得多,也更容易。现在,当我们调用 FULL Name 时,我们会得到这样的结果:
- 约翰·史密斯
- 汉娜·蒙塔娜
SqlDataSource
<asp:SqlDataSource ID="databaseWork" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString%>" SelectCommand="SELECT [ID], [FirstName] + ' '+[LastName] AS [FullName] FROM [People]">
</asp:SqlDataSource>
备注查询"SELECT [ID], [FirstName]+' '+[LastName] AS [FullName] FROM [People]"
对于下拉菜单
<asp:DropDownList ID="ddlPeople" runat="server" AutoPostBack="True" DataSourceID="databaseWork" DataTextField= 'FullName' DataValueField="ID">
我有一个 <asp:SqlDataSource
使用连接字符串连接到数据库,但是我想将 2 列合并在一起以创建 1 列,例如:
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 查询并创建我自己的列当我使用它们时将字段连接在一起。
我正在为我自己的问题添加一个答案,因为我相信这对其他想要相同结果的人非常有帮助。
事实证明,我所做的非常简单,可以实现 1 列同时创建了 2 列或更多列。
我的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>
与其尝试添加两列以在下拉列表或网格视图中动态创建一列,不如在 SQL 查询本身中创建列并简单地调用它要好得多,也更容易。现在,当我们调用 FULL Name 时,我们会得到这样的结果:
- 约翰·史密斯
- 汉娜·蒙塔娜
SqlDataSource
<asp:SqlDataSource ID="databaseWork" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString%>" SelectCommand="SELECT [ID], [FirstName] + ' '+[LastName] AS [FullName] FROM [People]">
</asp:SqlDataSource>
备注查询"SELECT [ID], [FirstName]+' '+[LastName] AS [FullName] FROM [People]"
对于下拉菜单
<asp:DropDownList ID="ddlPeople" runat="server" AutoPostBack="True" DataSourceID="databaseWork" DataTextField= 'FullName' DataValueField="ID">