当前位置: 首页 > news >正文

如何在LightSwitch中创建多栏自动完成的下拉框

 

在这篇博文中,我想介绍一种非常常见的下拉用法(下拉框也称组合框或者自动完成框),能够让用户从查找或者父表中一系列值中进行选择,此下拉用法通常称为“查找列表”。通常,这些列表呈现一个栏,比如项目的“名称”。但很多时候我们希望呈现给用户多栏的信息。通过Visual Studio LightSwitch,这不仅仅容易实现,还非常的灵活,会根据你创建的布局应变。在这篇博文中,我会介绍各种常见的使用LightSwitch中自动完成框的布局。要知道的是,这些技术中大部分都不仅局限于自动完成框。实际上你会发现这些布局控制在屏幕的任何地方都是适用的。现在就让我们开始吧。

设置一个查找列表

要看视频教学点击这里:如何操作:在LightSwitch应用中创建并控制查找列表的?

当你在Visual Studio LightSwitch中将表关联之后,父表关系就会自动在屏幕上以完成框的形式呈现。如果产品隶属于分类,产品表就是分类表的父表。

当你创建了一个项目屏幕时,分类就在自动完成框内展示,并呈现表的摘要属性。当一行数据显示在屏幕上时,LightSwitch用摘要属性来决定该显示什么内容的。这不仅适用于自动完成框,而且还适用于系统的任意场景。比如,搜索屏幕使用这个属性为所选记录提供连接至编辑屏幕。系统将其默认为表内首位字符串属性,你可以在数据设计器中的属性窗口进行更改。

现在当我们为项目创建一个详细编辑屏幕时,我们就从分类中获取了自动完成框。如果你创建并运行应用(F5)你会发现类似于父表的东西呈现在自动完成框内:

摘要属性默认为显示,通常这是你所需要的。但是,你也不用局限于此。实际上,你还可以从在屏幕设计器和它丰富多样的布局控制中找到很多小花样(查看Sheel在团队博客上写的屏幕设计器贴士)。点击“设计屏幕”按钮,进入屏幕自定义模式,展开自动完成框节点,显示摘要控制:

显示多栏 要在自动完成框显示多栏,请点击摘要控件下的展开箭头,将其变更为栏布局:

默认设置下,实体上所有的域都会显示出来。将你不想在自动完成框中显示的项目删除,并按你的喜好重新编排顺序。在我的例子中,分类包括名称,描述和图片。

系统默认栏宽为150像素。你可以在这个属性中自行设置你想要的宽度。在这个例子中,我把描述设置为“自动大小”因为我希望栏可以拉伸。接着在自定义模式中点击保存,你就可以看到布局的改变了。

如要看此步骤的视频教学,点击:如何操作:在自动完成下拉框中显示多栏的?

显示图片和文本

你会发现这非常简单。不过如果你想在这里显示一张图片,那么为实现这个特定目的,你可以使用更好的布局控件,那就是“图片和文本”以及“文本和图片”布局控件。在这里你选择图片以及其它三个你想显示的信息:(TITLE)比其余的字体要大,而(SUBTITLE)的字体比(DESCRIPTION)大些。

在我的例子中,我还把名称的宽度属性设置为“自动大小”。你现在保存自定义模式就会看到一个更好的布局。当然,你无需选择图片,也可以用这个布局单独显示文本。

显示链接以编辑

有时你可能想直接在下拉单中编辑行。这样用户就可以无需打开其它的屏幕,直接更正信息了。LightSwitch通过设置标签控制为“链接”形式显示来实现此操作。这些链接看上去像超链接,它们引导用户前往编辑画面。比如回到自定义模式,我们可以选择名称属性然后将其设置为“以链接显示”。

点击保存,你就会看到名称在自动完成框中以超链接形式出现。如果你点击它,分类的默认编辑画面就会出现,让用户编辑记录。在保存变更之后,点击自动完成框底部的刷新按钮就能看到改动后的效果了。

Visual Studio LightSwitch中还有很多灵活的布局控制,让项目编辑变得异常简单。我的下一篇博文就会告诉你怎样给自动完成框添加命令,以向列表添加新项目,这也是商业应用中用户生产率场景中非常常见的。

希望你们喜欢!

 

http://blogs.msdn.com/b/beth_massi/archive/2011/09/27/test1111.aspx

转载于:https://www.cnblogs.com/greystar/archive/2011/10/12/2235277.html

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • erLang语言特性及游戏应用的可行性分析
  • MongoDB远程主从部署下的全量数据同步及故障恢复策略
  • .NET 4 并行(多核)“.NET研究”编程系列之二 从Task开始
  • Windows2003发布MVC4网站
  • 面试中如何介绍自己做过的运维项目
  • [nowCoder] 两个不等长数组求第K大数
  • Flex Cairngorm详解
  • 宽带接入
  • MongoDBTool - 测试版【GUI美化完毕】 源代码发布 --MongoDB爱好者,Winform爱好者 请进...
  • .net 流——流的类型体系简单介绍
  • 把Javascript放置到何处
  • live555学习笔记6-建立RTP会话
  • 谈谈Ext JS的组件——组件基类:Ext.Component
  • 玩转VIM编辑器-导航移动
  • [翻译]利用C#获取终端服务(Terminal Services)会话的闲置时间
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • angular2 简述
  • exif信息对照
  • Git的一些常用操作
  • IDEA常用插件整理
  • JS字符串转数字方法总结
  • Laravel深入学习6 - 应用体系结构:解耦事件处理器
  • niucms就是以城市为分割单位,在上面 小区/乡村/同城论坛+58+团购
  • python学习笔记-类对象的信息
  • Redis中的lru算法实现
  • SegmentFault 技术周刊 Vol.27 - Git 学习宝典:程序员走江湖必备
  • Terraform入门 - 1. 安装Terraform
  • Vue2.x学习三:事件处理生命周期钩子
  • Webpack入门之遇到的那些坑,系列示例Demo
  • windows下如何用phpstorm同步测试服务器
  • 纯 javascript 半自动式下滑一定高度,导航栏固定
  • 给新手的新浪微博 SDK 集成教程【一】
  • 基于遗传算法的优化问题求解
  • 设计模式(12)迭代器模式(讲解+应用)
  • Linux权限管理(week1_day5)--技术流ken
  • ​​​【收录 Hello 算法】9.4 小结
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • #LLM入门|Prompt#3.3_存储_Memory
  • #我与Java虚拟机的故事#连载05:Java虚拟机的修炼之道
  • (007)XHTML文档之标题——h1~h6
  • (1)SpringCloud 整合Python
  • (2021|NIPS,扩散,无条件分数估计,条件分数估计)无分类器引导扩散
  • (4.10~4.16)
  • (Mac上)使用Python进行matplotlib 画图时,中文显示不出来
  • (Matalb回归预测)PSO-BP粒子群算法优化BP神经网络的多维回归预测
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (Spark3.2.0)Spark SQL 初探: 使用大数据分析2000万KF数据
  • (附源码)springboot 智能停车场系统 毕业设计065415
  • (一)基于IDEA的JAVA基础1
  • (转)C#调用WebService 基础
  • ***汇编语言 实验16 编写包含多个功能子程序的中断例程
  • .NET CF命令行调试器MDbg入门(一)
  • .NET delegate 委托 、 Event 事件
  • .net 受管制代码
  • .net/c# memcached 获取所有缓存键(keys)