golang 动态生成表头及数据

李国彬 · · 4705 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

golang的struct不支持界面展示的嵌套循环,所以采用map数据结构来存储数据。直接看代码和效果。 用的beego框架 服务端代码: `

func (this *TableController) Get() {
    this.Data["Thead"] = []string{"#", "名称", "年龄"} //表头数据结构
    this.Data["Tbody"] = []string{"Id", "Name", "Age"} //对应字段值
    personMap := make(map[string]string)
    personMap["Id"] = "1"
    personMap["Name"] = "lisi"
    personMap["Age"] = "25"
    personMap1 := make(map[string]string)
    personMap1["Id"] = "2"
    personMap1["Name"] = "zhangsan"
    personMap1["Age"] = "28"
    person := make(map[int64]map[string]string)
    person[0] = personMap
    person[1] = personMap1
    fmt.Println(person)
    this.Data["Person"] = person
    this.TplNames = "table.tpl"
}

` 前端测试代码: 

<html>
<head>
	<title>table</title>
</head>
<body>
	<table boder="1px solid black">
		{{range $k,$v := .Thead}}
		   <th>{{$v}}</th>
		{{end}}
		{{range $k, $person := .Person}}
		<tr>
			{{range $.Tbody}}
				<td>{{index $person .}}</td>
			{{end}}
		</tr>
		{{end}}
	</table>
</body>
</html>


最后效果 :

 # 名称             年龄 

1 lisi                 25 

2 zhangsan      28


有疑问加站长微信联系(非本文作者)

本文来自:开源中国博客

感谢作者:李国彬

查看原文:golang 动态生成表头及数据

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

4705 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传