golang 动态生成表头及数据

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

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"
}

` 前端测试代码: 



	table


	
		{{range $k,$v := .Thead}}
		   {{$v}}
		{{end}}
		{{range $k, $person := .Person}}
		
			{{range $.Tbody}}
				{{index $person .}}
			{{end}}
		
		{{end}}
	



最后效果 :

 # 名称             年龄 

1 lisi                 25 

2 zhangsan      28

转载于:https://my.oschina.net/lovederh/blog/515472

你可能感兴趣的:(golang 动态生成表头及数据)