本文整理汇总了Golang中github.com/lxn/walk.TableView类的典型用法代码示例。如果您正苦于以下问题:Golang TableView类的具体用法?Golang TableView怎么用?Golang TableView使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了TableView类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: Create
func (tvc TableViewColumn) Create(tv *walk.TableView) error {
w := walk.NewTableViewColumn()
if err := w.SetAlignment(walk.Alignment1D(tvc.Alignment)); err != nil {
return err
}
w.SetDataMember(tvc.DataMember)
if tvc.Format != "" {
if err := w.SetFormat(tvc.Format); err != nil {
return err
}
}
if err := w.SetPrecision(tvc.Precision); err != nil {
return err
}
if err := w.SetTitle(tvc.Title); err != nil {
return err
}
if err := w.SetVisible(!tvc.Hidden); err != nil {
return err
}
if err := w.SetWidth(tvc.Width); err != nil {
return err
}
return tv.Columns().Add(w)
}
示例2: CreateProj_Query
/**
** 查看所有项目的方法
**/
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)
}
示例3: main
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()
}
示例4: main
func main() {
var mainWindow *walk.MainWindow
var treeView *walk.TreeView
var tableView *walk.TableView
var webView *walk.WebView
treeModel, err := NewDirectoryTreeModel()
if err != nil {
log.Fatal(err)
}
tableModel := NewFileInfoModel()
if err := (MainWindow{
AssignTo: &mainWindow,
Title: "Walk File Browser Example",
MinSize: Size{600, 400},
Size: Size{800, 600},
Layout: HBox{},
Children: []Widget{
HSplitter{
Children: []Widget{
TreeView{
AssignTo: &treeView,
Model: treeModel,
OnCurrentItemChanged: func() {
dir := treeView.CurrentItem().(*Directory)
if err := tableModel.SetDirPath(dir.Path()); err != nil {
walk.MsgBox(
mainWindow,
"Error",
err.Error(),
walk.MsgBoxOK|walk.MsgBoxIconError)
}
},
},
TableView{
AssignTo: &tableView,
Columns: []TableViewColumn{
TableViewColumn{
Title: "Name",
DataMember: "Name",
Width: 200,
},
TableViewColumn{
Title: "Size",
DataMember: "Size",
Format: "%d",
Alignment: AlignFar,
Width: 80,
},
TableViewColumn{
Title: "Modified",
DataMember: "Modified",
Format: "2006-01-02 15:04:05",
Width: 120,
},
},
Model: tableModel,
OnCurrentIndexChanged: func() {
var url string
if index := tableView.CurrentIndex(); index > -1 {
name := tableModel.items[index].Name
dir := treeView.CurrentItem().(*Directory)
url = filepath.Join(dir.Path(), name)
}
webView.SetURL(url)
},
},
WebView{
AssignTo: &webView,
},
},
},
},
}.Create()); err != nil {
log.Fatal(err)
}
mainWindow.Run()
}
示例5: Create
func (tv TableView) Create(builder *Builder) error {
var w *walk.TableView
var err error
if tv.NotSortableByHeaderClick {
w, err = walk.NewTableViewWithStyle(builder.Parent(), win.LVS_NOSORTHEADER)
} else {
w, err = walk.NewTableView(builder.Parent())
}
if err != nil {
return err
}
return builder.InitWidget(tv, w, func() error {
for i := range tv.Columns {
if err := tv.Columns[i].Create(w); err != nil {
return err
}
}
if err := w.SetModel(tv.Model); err != nil {
return err
}
if tv.AlternatingRowBGColor != 0 {
w.SetAlternatingRowBGColor(tv.AlternatingRowBGColor)
}
w.SetCheckBoxes(tv.CheckBoxes)
w.SetItemStateChangedEventDelay(tv.ItemStateChangedEventDelay)
if err := w.SetLastColumnStretched(tv.LastColumnStretched); err != nil {
return err
}
if err := w.SetSingleItemSelection(tv.SingleItemSelection); err != nil {
return err
}
if tv.OnCurrentIndexChanged != nil {
w.CurrentIndexChanged().Attach(tv.OnCurrentIndexChanged)
}
if tv.OnSelectedIndexesChanged != nil {
w.SelectedIndexesChanged().Attach(tv.OnSelectedIndexesChanged)
}
if tv.OnItemActivated != nil {
w.ItemActivated().Attach(tv.OnItemActivated)
}
if tv.AssignTo != nil {
*tv.AssignTo = w
}
return nil
})
}
示例6: main
func main() {
font := Font{
Family: "Times New Roman",
PointSize: 13,
Bold: true,
}
usr, _ := user.Current()
usrModel := env.NewModel(0)
sysModel := env.NewModel(1)
var usrTableView, sysTableView *walk.TableView
var mw *walk.MainWindow
MainWindow{
Title: "Enviroment Variable",
Size: Size{600, 700},
Layout: VBox{},
AssignTo: &mw,
Font: font,
Children: []Widget{
VSplitter{
Children: []Widget{
GroupBox{
Title: "User variables for " + usr.Username,
Font: font,
Layout: VBox{},
Children: []Widget{
TableView{
AssignTo: &usrTableView,
AlternatingRowBGColor: walk.RGB(255, 255, 224),
ColumnsOrderable: true,
Columns: []TableViewColumn{
{Title: "name", Width: 200},
{Title: "value"},
},
LastColumnStretched: true,
Model: usrModel,
OnItemActivated: func() {
index := usrTableView.CurrentIndex()
if index != -1 {
EditVariable(mw, usrModel, usrModel.GetVariable(index).Name, usrModel.GetVariable(index).Value)
}
},
},
Composite{
Layout: HBox{},
Children: []Widget{
HSpacer{},
PushButton{
Text: "New...",
OnClicked: func() {
NewVariable(mw, usrModel)
},
},
PushButton{
Text: "Edit...",
OnClicked: func() {
index := usrTableView.CurrentIndex()
if index != -1 {
EditVariable(mw, usrModel, usrModel.GetVariable(index).Name, usrModel.GetVariable(index).Value)
}
},
},
PushButton{
Text: "Delete",
OnClicked: func() {
index := usrTableView.CurrentIndex()
if index != -1 {
DeleteVariable(mw, usrModel, usrModel.GetVariable(index).Name)
}
},
},
},
},
},
},
GroupBox{
Title: "System variables",
Font: font,
Layout: VBox{},
Children: []Widget{
TableView{
AssignTo: &sysTableView,
AlternatingRowBGColor: walk.RGB(255, 255, 224),
ColumnsOrderable: true,
Columns: []TableViewColumn{
{Title: "Variable", Width: 200},
{Title: "Value"},
},
LastColumnStretched: true,
Model: sysModel,
OnItemActivated: func() {
index := sysTableView.CurrentIndex()
if index != -1 {
EditVariable(mw, sysModel, sysModel.GetVariable(index).Name, sysModel.GetVariable(index).Value)
}
},
},
Composite{
Layout: HBox{},
Children: []Widget{
HSpacer{},
//.........这里部分代码省略.........
示例7: main
func main() {
model := NewFooModel("img")
foo := &TableViewColumnFormat{Title: "创建时间", Format: "2006-01-02", Width: 150}
var tv *walk.TableView
MainWindow{
Title: "TableView",
Size: Size{800, 600},
Layout: VBox{},
DataBinder: DataBinder{
DataSource: foo,
AutoSubmit: true,
OnSubmitted: func() {
fmt.Println(foo)
},
},
Children: []Widget{
Composite{
Layout: HBox{},
Children: []Widget{
RadioButtonGroup{
DataMember: "Alignment",
Buttons: []RadioButton{
RadioButton{
Name: "leftAlign",
Text: "左对齐",
Value: AlignFar,
OnClicked: func() {
tv.Columns().Add(walk.NewTableViewColumn())
model.PublishRowsReset()
},
},
RadioButton{
Name: "leftAlign",
Text: "居中",
Value: AlignCenter,
OnClicked: func() {
tv.Columns().At(4).SetAlignment(walk.AlignCenter)
model.PublishRowsReset()
},
},
RadioButton{
Name: "leftAlign",
Text: "右对齐",
Value: AlignNear,
OnClicked: func() {
tv.Columns().At(4).SetAlignment(walk.AlignFar)
//tv.Columns().Clear()
model.PublishRowsReset()
},
},
},
},
},
},
TableView{
AssignTo: &tv,
AlternatingRowBGColor: walk.RGB(183, 208, 65),
CheckBoxes: true,
ColumnsOrderable: true,
Columns: []TableViewColumn{
{Title: "#"},
{Title: "原文件名"},
{Title: "类型"},
{Title: "新文件名"},
{Title: "创建时间", Format: "2006-01-02 15:04:05", Width: 150, Alignment: foo.Alignment, DataMember: "", Hidden: false, Precision: 2},
{Title: "修改时间", Format: "2006-01-02 15:04:05", Width: 150, DataMember: "", Alignment: foo.Alignment},
},
Model: model,
},
},
}.Run()
}