/** ** 查看所有项目的方法 **/ func CreateProj_Query(owner walk.Form) { var dlg *walk.Dialog var tv *walk.TableView var dialog = Dialog{} model := xorm.NewProjectModel() dialog.AssignTo = &dlg dialog.Title = "项目管理" dialog.Layout = VBox{} dialog.MinSize = Size{650, 300} dialog.Children = []Widget{ TableView{ AssignTo: &tv, AlternatingRowBGColor: walk.RGB(255, 255, 224), ColumnsOrderable: true, Columns: []TableViewColumn{ {Title: "编号", Width: 50}, {Title: "名称"}, {Title: "创建者"}, {Title: "创建时间", Format: "2006-01-02 15:04:05", Width: 130}, {Title: "描述", Width: 200}, }, Model: model, }, Composite{ Layout: HBox{}, Children: []Widget{ HSpacer{}, PushButton{ Text: "创建", OnClicked: func() { CreateProj_Triggered(owner, model) }, }, PushButton{ Text: "删除", OnClicked: func() { indexs := tv.SelectedIndexes() if indexs.Len() == 0 { walk.MsgBox(owner, "提示", "请选择要删除的数据", walk.MsgBoxIconError) return } walk.MsgBox(owner, "提示", "确认是否删除此工程", walk.MsgBoxOKCancel) obj := model.GetItemByindex(int64(indexs.At(0))) xorm.DeleteProjectByObj(obj) model.ResetRows() }, }, }, }, } dialog.Run(owner) }
func main() { rand.Seed(time.Now().UnixNano()) model := NewFooModel() var tv *walk.TableView MainWindow{ Title: "Walk TableView Example", Size: Size{800, 600}, Layout: VBox{MarginsZero: true}, Children: []Widget{ PushButton{ Text: "Reset Rows", OnClicked: model.ResetRows, }, PushButton{ Text: "Select first 5 even Rows", OnClicked: func() { tv.SetSelectedIndexes([]int{0, 2, 4, 6, 8}) }, }, TableView{ AssignTo: &tv, AlternatingRowBGColor: walk.RGB(255, 255, 224), CheckBoxes: true, ColumnsOrderable: true, MultiSelection: true, Columns: []TableViewColumn{ {Title: "#"}, {Title: "Bar"}, {Title: "Baz", Format: "%.2f", Alignment: AlignFar}, {Title: "Quux", Format: "2006-01-02 15:04:05", Width: 150}, }, Model: model, OnSelectedIndexesChanged: func() { fmt.Printf("SelectedIndexes: %v\n", tv.SelectedIndexes()) }, }, }, }.Run() }