.Net语言Smobiler开发之如何在手机上实现表单设计

最前面的话:Smobiler是一个在VS环境中使用.Net语言来开发APP的开发平台,也许比Xamarin更方便

一、目标样式

我们要实现上图中的效果,需要如下的操作:

1.从工具栏上的”Smobiler Components”拖动一个一个TableView控件到窗体界面上

2.修改GridView控件的属性

a.load事件代码

VB:

 Private Sub TestTableView_Load(sender As Object, e As EventArgs)Handles MyBase.Load
 Dim matTable As New DataTable
 matTable.Columns.Add("MAT_DESC1", GetType(String))
 matTable.Columns.Add("MAT_DESC2", GetType(String))
 matTable.Columns.Add("MAT_DESC3", GetType(String))
 matTable.Columns.Add("MAT_DESC4", GetType(String))
 matTable.Rows.Add()
 matTable.Rows(0)("MAT_DESC1") = "201503"
 matTable.Rows(0)("MAT_DESC2") = "mz"
 matTable.Rows(0)("MAT_DESC3") = "0"
 matTable.Rows(0)("MAT_DESC4") = "17"
 matTable.Rows.Add()
 matTable.Rows(1)("MAT_DESC1") = "201504"
 matTable.Rows(1)("MAT_DESC2") = "mz"
 matTable.Rows(1)("MAT_DESC3") = "0"
 matTable.Rows(1)("MAT_DESC4") = "17"
 matTable.Rows.Add()
 matTable.Rows(2)("MAT_DESC1") = "201505"
 matTable.Rows(2)("MAT_DESC2") = "mz"
 matTable.Rows(2)("MAT_DESC3") = "0"
 matTable.Rows(2)("MAT_DESC4") = "17"
 matTable.Rows.Add()
 matTable.Rows(3)("MAT_DESC1") = "201506"
 matTable.Rows(3)("MAT_DESC2") = "mz"
 matTable.Rows(3)("MAT_DESC3") = "0"
 matTable.Rows(3)("MAT_DESC4") = "17"
 Me.tableView1..DataSource = matTable
 Me.tableview1.DataBind()

 End Sub C#:
 private void Testtableview_Load(object sender, EventArgs e)
 {
 DataTable matTable = new DataTable();
 matTable.Columns.Add("MAT_DESC1", typeof(string));
 matTable.Columns.Add("MAT_DESC2", typeof(string));
 matTable.Columns.Add("MAT_DESC3", typeof(string));
 matTable.Columns.Add("MAT_DESC4", typeof(string));
 matTable.Rows.Add();
 matTable.Rows[0]["MAT_DESC1"] = "201503";
 matTable.Rows[0]["MAT_DESC2"] = "mz";
 matTable.Rows[0]["MAT_DESC3"] = "0";
 matTable.Rows[0]["MAT_DESC4"] = "17";
 matTable.Rows.Add();
 matTable.Rows[1]["MAT_DESC1"] = "201504";
 matTable.Rows[1]["MAT_DESC2"] = "mz";
 matTable.Rows[1]["MAT_DESC3"] = "0";
 matTable.Rows[1]["MAT_DESC4"] = "17";
 matTable.Rows.Add();
 matTable.Rows[2]["MAT_DESC1"] = "201505";
 matTable.Rows[2]["MAT_DESC2"] = "mz";
 matTable.Rows[2]["MAT_DESC3"] = "0";
 matTable.Rows[2]["MAT_DESC4"] = "17";
 matTable.Rows.Add();
 matTable.Rows[3]["MAT_DESC1"] = "201506";
 matTable.Rows[3]["MAT_DESC2"] = "mz";
 matTable.Rows[3]["MAT_DESC3"] = "0";
 matTable.Rows[3]["MAT_DESC4"] = "17";
 this.tableview1.DataSource = matTable;
 this.tableview1.DataBind();
 }

b.ColumnHeaderStyle属性

其中包括Height属性(列标题高度)、FontSize属性(列标题文本大小)、BackColor属性(列标题背景颜色)和ForeColor属性(列标题文本颜色),如图1;

将Height属性设置为“10”,如图2;

将FontSize属性设置为“5”,如图3;

将BackColor属性设置为“White”,如图4;

将ForeColor属性设置为“Black”,如图5;

c.Columns属性

打开集合编辑器,并点击"添加"按钮旁边的三角形按钮,选择需要的列的类型,其中包括TableViewLabelColumn、TableViewButtonColumn、TableViewTextBoxColumn、TableViewCheckBoxColumn和TableViewImageColumn五种列,如图6、图7;

d.GridLinesColor属性

设置TableView表格线的颜色,将该属性设置为“Black”,如图8;

e.Location属性

让控件显示在合适的位置(0, 122),如图9;

f.RowHeight属性

设置表格行高度,将该属性设置为“15”,如图10;

g.Size属性

设置控件的宽度和高度,将该属性设置为(120, 77),如图11;

二、手机效果显示

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • asp.net 动态表单之数据分页

    但是问题来了,不同科系的同学的科目是不一样的,那么我们在数据库设计的时候通常是把学生.某科成绩作为一条记录,那么这个时候我们就需要做一个行转列的逻辑处理了. 解决方法: 使用GridView来生成表单,这个实现起来会比较麻烦,如果要在列表里面显示链接就更不可能了: 生成html再输出到页面中,这个实现起来比较灵活.方便: 基本功能点: 动态生成表头: 数据进行分页: 查询数据: 对每个成绩进行超链接,查看明细:  页面代码 复制代码 代码如下: <div id="dataDiv1"

  • asp.net 中将表单提交到另一页 Code-Behind(代码和html在不同的页面)

    The following shows a complete example of the code-behind file associated with the Web Forms page sending the information. Depending on whether you use Visual Basic or C#, make sure this sample is called Firstpage.aspx.vb or Firstpage.aspx.cs, respec

  • ASP.NET表单验证方法详解第1/2页

    1.使用验证控件 这属于客户端验证,微软开发人员将最常用的验证功能进行了封装,使得我们开发效率明显提高,而且特别是自定义验证控件,非常灵活,我们可以自行设计验证逻辑.但是验证控件收到了浏览器的限制,记得在一次开发过程中,使用FireFox浏览器进行浏览,发现所有的验证控件失灵,这个并非是ASP.NET设计的漏洞,只能说浏览器标准的不唯一造成的. ASP.NET公有六种验证控件,分别如下: RequiredFieldValidator(必须字段验证) 用于检查是否有输入值 CompareValid

  • jquery form表单提交插件asp.net后台中文解码

    在asp.net 后台页面提取时需要解码.解码的方式为:HttpUtility.UrlDecode(context.Request["infostr"].ToString());

  • asp.net中实体类对象赋值到表单的实现代码

    有一个问题就是 :表单名称和对象的属性名(我是属性赋值 你也可以用字段)要保持一样,,有点不安全,不过后台用挺好的,在说填写表单数据后台用的比较多 复制代码 代码如下: using System; using System.Data; using System.Configuration; using System.Collections; using System.Collections.Generic; using System.Reflection; using System.Collec

  • asp.net 防止用户通过后退按钮重复提交表单

    防止用户通过后退按钮重复提交表单 <% response.Buffer=true response.Expires=0 response.ExpiresAbsolute=now()-1 response.CacheControl="no-cache" %> response.Buffer=true的意思就是指明输出页面是否被缓冲,当属性值为True时,服务器将不会向客户端发送任何信息,直到所有程序执行完或者遇到 <% Response.Flush %>或<

  • asp.net 模拟提交有文件上传的表单(通过http模拟上传文件)

    我们暂且不说如何去模拟数据,通过一个简单的form看看当请求发生时,客户端提交了什么样的数据给服务端. 下面是一个简单的html form,两个文本输入框,一个文件上传(这里我选择一张图片),注意有文件上传的form的enctype属性. 复制代码 代码如下: <form action="sql.aspx" method="post" enctype="multipart/form-data"> <input id="

  • java正则表达式表单验证类工具类(验证邮箱、手机号码、qq号码等)

    java使用正则表达式进行表单验证工具类,可以验证邮箱.手机号码.qq号码等 复制代码 代码如下: package util; import java.util.regex.Matcher;import java.util.regex.Pattern; /** * 使用正则表达式进行表单验证 *  */ public class RegexValidateUtil {    static boolean flag = false;    static String regex = ""

  • Asp.Net模拟表单提交数据和上传文件的实现代码

    如果你需要跨域上传内容到另外一个域名并且需要获取返回值,使用Asp.Net的作为代理是最好的办法,要是客户端直接提交到iframe中,由于跨域是无法用javascript获取到iframe中返回的内容的.此时需要在自己的网站做一个动态页作为代理,将表单提交到动态页,动态页负责将表单的内容使用WebClient或HttpWebRequest将表单数据再上传到远程服务器,由于在服务器端进行操作,就不存在跨域问题了. WebClient上传只包含键值对的文本信息示例代码: 复制代码 代码如下: str

  • ASP.Net中表单POST到其他页面的方法分享

    在ASP中,我们通常把表单提交到另外一个页面(接受数据页面).但是在ASP.NET中,服务端表单通常都是提交到本页面的,如果我设置 复制代码 代码如下: form1.action="test.aspx"; 那么就会导致视图验证错误的错误,因为Asp.net安全机制引起的.我们也可以关闭这个验证,在接受页面中(test.aspx)头部加上 复制代码 代码如下: <%@ Page EnableViewStateMac="false" %> 但这样做不是很安全

随机推荐