本文整理汇总了Golang中github.com/lxn/walk.DataBinder.Submit方法的典型用法代码示例。如果您正苦于以下问题:Golang DataBinder.Submit方法的具体用法?Golang DataBinder.Submit怎么用?Golang DataBinder.Submit使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/lxn/walk.DataBinder
的用法示例。
在下文中一共展示了DataBinder.Submit方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: CreateProj_Triggered
/**
*添加项目的方法
*/
func CreateProj_Triggered(owner walk.Form, model *xorm.ProjectModel) {
var dlg *walk.Dialog
var db *walk.DataBinder
var ep walk.ErrorPresenter
var project = new(xorm.Project)
var acceptPB, cancelPB *walk.PushButton
var dialog = Dialog{}
dialog.AssignTo = &dlg
dialog.Title = "创建工程"
dialog.DataBinder = DataBinder{
AssignTo: &db,
DataSource: project,
ErrorPresenter: ErrorPresenterRef{&ep},
}
dialog.MinSize = Size{300, 200}
dialog.Layout = VBox{}
dialog.DefaultButton = &acceptPB
dialog.CancelButton = &cancelPB
childrens := []Widget{
Composite{
Layout: Grid{Columns: 2},
Children: []Widget{
Label{
Text: "名称:",
},
LineEdit{
Text: Bind("Name"),
MaxLength: 10,
},
Label{
Text: "创建者:",
},
LineEdit{
Text: Bind("CreateUser"),
MaxLength: 10,
},
Label{
Text: "描述:",
},
TextEdit{
Text: Bind("Desc"),
MinSize: Size{300, 50},
},
LineErrorPresenter{
AssignTo: &ep,
ColumnSpan: 2,
},
},
},
Composite{
Layout: HBox{},
Children: []Widget{
HSpacer{},
PushButton{
AssignTo: &acceptPB,
Text: "保存",
OnClicked: func() {
if err := db.Submit(); err != nil {
log.Print(err)
return
}
xorm.SaveProjectObject(*project)
model.ResetRows()
dlg.Accept()
},
},
PushButton{
AssignTo: &cancelPB,
Text: "取消",
OnClicked: func() { dlg.Cancel() },
},
},
},
}
dialog.Children = childrens
dialog.Run(owner)
}
示例2: Build
func (db *DialogBuilder) Build() error {
var dataBinder *walk.DataBinder
var errorPresenter walk.ErrorPresenter
var acceptPB, cancelPB *walk.PushButton
onAcceptClicked := func() {
if err := dataBinder.Submit(); err != nil {
log.Fatal(err)
}
db.Dialog.Accept()
}
return Dialog{
AssignTo: db.Dialog,
Title: db.Title,
DefaultButton: &acceptPB,
CancelButton: &cancelPB,
MinSize: db.MinSize,
Size: db.Size,
DataBinder: DataBinder{
AssignTo: &dataBinder,
DataSource: db.DataSource,
ErrorPresenter: ErrorPresenterRef{&errorPresenter},
},
Layout: VBox{},
Children: []Widget{
Composite{
Layout: Grid{},
Children: db.Widgets,
},
Composite{
Layout: VBox{Margins: Margins{9, 0, 9, 0}},
Children: []Widget{
LineErrorPresenter{AssignTo: &errorPresenter},
},
},
Composite{
Layout: HBox{},
Children: []Widget{
HSpacer{},
PushButton{AssignTo: &acceptPB, Text: "OK", OnClicked: onAcceptClicked},
PushButton{AssignTo: &cancelPB, Text: "Cancel", OnClicked: func() { db.Dialog.Cancel() }},
},
},
},
}.Create(db.Owner)
}
示例3: Run
//.........这里部分代码省略.........
},
},
VSplitter{
Children: []Widget{
Label{
Text: "*间隔基准:",
},
ComboBox{
Value: Bind("BaseSleeptime", SelRequired{}),
BindingMember: "Uint",
DisplayMember: "Key",
Model: GUIOpt.SleepTime,
},
},
},
VSplitter{
Children: []Widget{
Label{
Text: "*随机延迟:",
},
ComboBox{
Value: Bind("RandomSleepPeriod", SelRequired{}),
BindingMember: "Uint",
DisplayMember: "Key",
Model: GUIOpt.SleepTime,
},
},
},
RadioButtonGroupBox{
ColumnSpan: 2,
Title: "*输出方式",
Layout: HBox{},
DataMember: "OutType",
Buttons: []RadioButton{
{Text: GUIOpt.OutType[0].Key, Value: GUIOpt.OutType[0].String},
{Text: GUIOpt.OutType[1].Key, Value: GUIOpt.OutType[1].String},
{Text: GUIOpt.OutType[2].Key, Value: GUIOpt.OutType[2].String},
},
},
},
},
},
},
Composite{
Layout: HBox{},
Children: []Widget{
// 必填项错误检查
LineErrorPresenter{
AssignTo: &ep,
ColumnSpan: 2,
},
PushButton{
Text: "开始抓取",
AssignTo: &toggleSpecialModePB,
OnClicked: func() {
if toggleSpecialModePB.Text() == "取消" {
toggleSpecialModePB.SetEnabled(false)
toggleSpecialModePB.SetText("取消中…")
Stop()
} else {
if err := db.Submit(); err != nil {
log.Print(err)
return
}
Input.Spiders = spiderMenu.GetChecked()
if len(Input.Spiders) == 0 {
return
}
toggleSpecialModePB.SetText("取消")
Start()
}
},
},
},
},
},
}.Create()); err != nil {
log.Fatal(err)
}
// 绑定log输出界面
lv, err := NewLogView(mw)
if err != nil {
log.Fatal(err)
}
log.SetOutput(lv)
if icon, err := walk.NewIconFromResource("ICON"); err == nil {
mw.SetIcon(icon)
}
// 运行窗体程序
mw.Run()
}
示例4: RunAnimalDialog
//.........这里部分代码省略.........
Label{
Text: "Speed:",
},
Slider{
Value: Bind("Speed"),
},
RadioButtonGroupBox{
ColumnSpan: 2,
Title: "Sex",
Layout: HBox{},
DataMember: "Sex",
Buttons: []RadioButton{
{Text: "Male", Value: SexMale},
{Text: "Female", Value: SexFemale},
{Text: "Hermaphrodite", Value: SexHermaphrodite},
},
},
Label{
Text: "Weight:",
},
NumberEdit{
Value: Bind("Weight", Range{0.01, 9999.99}),
Suffix: " kg",
Decimals: 2,
},
Label{
Text: "Preferred Food:",
},
ComboBox{
Editable: true,
Value: Bind("PreferredFood"),
Model: []string{"Fruit", "Grass", "Fish", "Meat"},
},
Label{
Text: "Domesticated:",
},
CheckBox{
Checked: Bind("Domesticated"),
},
VSpacer{
ColumnSpan: 2,
Size: 8,
},
Label{
ColumnSpan: 2,
Text: "Remarks:",
},
TextEdit{
ColumnSpan: 2,
MinSize: Size{100, 50},
Text: Bind("Remarks"),
},
Label{
ColumnSpan: 2,
Text: "Patience:",
},
LineEdit{
ColumnSpan: 2,
Text: Bind("PatienceField"),
},
LineErrorPresenter{
AssignTo: &ep,
ColumnSpan: 2,
},
},
},
Composite{
Layout: HBox{},
Children: []Widget{
HSpacer{},
PushButton{
AssignTo: &acceptPB,
Text: "OK",
OnClicked: func() {
if err := db.Submit(); err != nil {
log.Print(err)
return
}
dlg.Accept()
},
},
PushButton{
AssignTo: &cancelPB,
Text: "Cancel",
OnClicked: func() { dlg.Cancel() },
},
},
},
},
}.Run(owner)
}
示例5: CreateVersion_Triggered
/**
*添加版本的方法
*/
func CreateVersion_Triggered(owner walk.Form, model *xorm.VersionModel) {
var dlg *walk.Dialog
var db *walk.DataBinder
var dph *walk.LineEdit
var ep walk.ErrorPresenter
var version = new(xorm.Version)
var acceptPB, cancelPB *walk.PushButton
var dialog = Dialog{}
dialog.AssignTo = &dlg
dialog.Title = "创建版本"
dialog.DataBinder = DataBinder{
AssignTo: &db,
DataSource: version,
ErrorPresenter: ErrorPresenterRef{&ep},
}
dialog.MinSize = Size{300, 200}
dialog.Layout = VBox{}
dialog.DefaultButton = &acceptPB
dialog.CancelButton = &cancelPB
dirPath := LineEdit{
AssignTo: &dph,
Text: Bind("Path"),
ReadOnly: true,
}
childrens := []Widget{
Composite{
Layout: Grid{Columns: 5},
Children: []Widget{
Label{
Text: "工程:",
MinSize: Size{42, 0},
},
ComboBox{
MinSize: Size{108, 0},
Value: Bind("ProjectName", SelRequired{}),
BindingMember: "Key",
DisplayMember: "Name",
Model: xorm.FindAllProjDataCombox(),
},
dirPath,
PushButton{
Text: "选择版本",
OnClicked: func() {
filDlg := new(walk.FileDialog)
filDlg.ShowBrowseFolder(owner)
dph.SetText(filDlg.FilePath)
},
},
},
},
Composite{
Layout: Grid{Columns: 2},
Children: []Widget{
Label{
Text: "名称:",
},
LineEdit{
Text: Bind("Name"),
MaxLength: 10,
},
Label{
Text: "创建者:",
},
LineEdit{
Text: Bind("CreateUser"),
MaxLength: 10,
},
Label{
Text: "描述:",
},
TextEdit{
Text: Bind("Desc"),
MinSize: Size{300, 50},
},
LineErrorPresenter{
AssignTo: &ep,
ColumnSpan: 2,
},
},
},
Composite{
Layout: HBox{},
Children: []Widget{
HSpacer{},
PushButton{
AssignTo: &acceptPB,
Text: "保存",
OnClicked: func() {
if err := db.Submit(); err != nil {
log.Print(err)
return
}
xorm.SaveVersionByParam(version.Name, version.CreateUser, version.Desc)
model.ResetRows()
dlg.Accept()
//.........这里部分代码省略.........
示例6: main
func main() {
LoadData()
chEnd = make(chan bool)
var emails, body, msgbox *walk.TextEdit
var user, password, host, subject *walk.LineEdit
var db *walk.DataBinder
var ep walk.ErrorPresenter
var startBtn *walk.PushButton
mw := new(MyMainWindow)
mw.SetFixedSize(false)
mw.SetMaximizeBox(false)
MainWindow{
Title: "邮件群发器 By 一曲忧伤",
MinSize: Size{300, 200},
AssignTo: &mw.MainWindow,
DataBinder: DataBinder{
AssignTo: &db,
DataSource: SJ,
ErrorPresenter: ErrorPresenterRef{&ep},
},
ScreenCenter: true,
Layout: HBox{},
Children: []Widget{
TextEdit{
AssignTo: &emails,
Text: SJ.Send,
ToolTipText: "待发送邮件列表,每行一个",
},
VSplitter{
Children: []Widget{
LineEdit{
AssignTo: &user,
Text: Bind(SJ.Name, Regexp{"^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$"}),
CueBanner: "请输入邮箱用户名",
},
LineEdit{
AssignTo: &password,
Text: SJ.Pwd,
PasswordMode: true,
CueBanner: "请输入邮箱登录密码",
},
LineEdit{
AssignTo: &host,
Text: Bind(SJ.Host, Regexp{"^(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])$"}),
CueBanner: "SMTP服务器:端口",
},
LineEdit{AssignTo: &subject,
MaxLength: 10,
Text: Bind(SJ.Subject, Regexp{"^([a-z0-9A-Z])+$"}),
CueBanner: "请输入邮件主题……",
},
TextEdit{AssignTo: &body,
Text: Bind(SJ.Body, SelRequired{}),
ToolTipText: "请输入邮件内容",
ColumnSpan: 2,
},
TextEdit{AssignTo: &msgbox,
ReadOnly: true,
},
LineErrorPresenter{
AssignTo: &ep,
ColumnSpan: 2,
ToolTipText: "测试",
},
PushButton{
AssignTo: &startBtn,
Text: "开始群发",
OnClicked: func() {
if err := db.Submit(); err == nil {
SJ.Name = user.Text()
SJ.Pwd = password.Text()
SJ.Host = host.Text()
SJ.Subject = subject.Text()
SJ.Body = body.Text()
SJ.Send = emails.Text()
SaveData()
if runing == false {
runing = true
startBtn.SetText("停止发送")
go sendThread(msgbox, emails)
} else {
runing = false
startBtn.SetText("开始群发")
}
} else {
return
}
},
},
},
},
},
}.Run()
}
示例7: StartMF
//.........这里部分代码省略.........
DisplayMember: "Name",
Model: modelp.ShowTestIndus(),
},
Label{
Text: "经营范围:",
},
LineEdit{
Text: Bind("OrgBusScope"),
},
},
},
Composite{
Layout: HBox{},
Children: []Widget{
Label{
Text: "税收收入大于:",
},
NumberEdit{
Value: Bind("StatTaxSumStart", Range{0.00, 99999999999999999.99}),
Prefix: "¥ ",
Decimals: 2,
},
Label{
Text: "税收收入小于:",
},
NumberEdit{
Value: Bind("StatTaxSumEnd", Range{0.00, 99999999999999999.99}),
Prefix: "¥ ",
Decimals: 2,
},
},
},
Composite{
Layout: HBox{},
Children: []Widget{
CheckBox{
Checked: Bind("IsImportant"),
},
Label{
Text: "是否是重点税源企业",
},
CheckBox{
Checked: Bind("OrgIsExport"),
},
Label{
Text: "是否是出口企业",
},
PushButton{
Text: "抽查数据",
OnClicked: func() {
// 提交数据到绑定器
if err := binder.Submit(); err != nil {
log.Print(err)
return
}
// 执行查询并更新列表
fmt.Println("Params:", param)
model.RestRows(queryData(param))
},
},
PushButton{
Text: "导入数据",
OnClicked: func() {
mw.openFileAction()
},
},
PushButton{
Text: "刷新数据",
OnClicked: func() {
// 刷新行业列表
getCombs()
// 清空参数
err := binder.Reset()
if err != nil {
fmt.Println(err)
}
// 刷新数据
model.RestRows(defaDisplayData())
},
},
PushButton{
Text: "清空数据",
OnClicked: func() {
// 清空数据然后查询展示空列表
truncateData(vatTable)
model.RestRows(defaDisplayData())
walk.MsgBox(mw, "成功", "清空成功", walk.MsgBoxIconInformation)
},
},
},
},
},
},
},
// 这里直接Run,否则碰到了莫名奇妙的二次才能响应的问题
}.Run()); err != nil {
fmt.Println(err)
}
// mw.MainWindow.Run()
}