c# - 如何在一个元素(Gridview)上绑定多个数据?
问题描述
我想在我的网格视图上绑定数据库中的多个属性,所以我有(名字、中间名和姓氏),我想将它们连接到我的网格视图(名称)的一列中
<asp:GridView ID="GV1" runat="server" AutoGenerateEditButton="true"
AutoGenerateColumns="false">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:Label
ID="edtName"
runat="server"
Text='<%# Bind("Name") %>'
/>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
那么,我该如何绑定它们呢?我正在使用 Visual Studio 2013,带有 c# 的 asp.net,谢谢。
解决方案
有两种方法可以做到这一点:
1) 使用字符串连接
属性上的字符串连接Text
不允许使用多种Bind
数据绑定方法,因此Eval
应在此处使用。
+
运营商版本
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="edtName" runat="server" Text='<%# Eval("firstname") %> + ' ' + <%# Eval("middlename") %> + ' ' + <%# Eval("lastname") %>' />
</ItemTemplate>
</asp:TemplateField>
String.Format 版本
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="edtName" runat="server" Text='<%# String.Format("{0} {1} {2}", Eval("FirstName"), Eval("MiddleName"), Eval("LastName")) %>' />
</ItemTemplate>
</asp:TemplateField>
2) 使用 AS 别名修改查询
使用COALESCE
运算符将所有相关字段组合成单个字符串,并给出一个别名,该别名与标签中定义的键相同Bind
:
SELECT COALESCE(FirstName, '') || COALESCE(MiddleName, '') || COALESCE(LastName, '') AS Name FROM TableName ...
推荐阅读
- azure - 验证后谷歌不重定向
- wordpress - Wordpress 自行删除页面
- laravel - 如何解决 Laravel 中“试图获取非对象的属性”?
- docusignapi - Docusign 下载带标签的未签名信封
- scala - 并行使用 scala Spark 重命名 HDFS 文件时的序列化问题
- pine-script - Pine 脚本 - 使用 heikin ashi 的策略输入,但策略测试器使用实际价格而不是 ha bar open
- javascript - 我想在特定条件下使用 onclick 事件使对象的所有属性消失
- javascript - Angular:this.categories 未定义
- git - GIT:如何在首次获取之前将本地文件恢复为状态
- javascript - 从 Promise 的 catch 块中抛出错误无法通过测试来处理它