Winforms中的数据绑定

时间:2011-10-05 15:32:51

标签: c# winforms entity-framework data-binding

我在VS2010中有一个数据输入Winforms App。连同到SQL Compact数据库的实体数据模型(.edmx)。在这个数据库中,我有一个表Ticket,我试图插入。

在我的表单上,我将所有控件DataBindings属性设置为并指向数据库中的正确字段。

我正在尝试从表单上的控件中获取值,并添加一个非数据绑定字段并保存票证。

这是我的代码:

private void btnSave_Click(object sender, EventArgs e)
    {
                this.TS = new TicketService();
                Ticket t = (Ticket)ticketBindingSource.DataSource;
                t.DateEntered = Datetime.Now;
                TS.SaveTicket(t);
    }

我将TicketBindingSource转换为Ticket对象时收到错误。

任何人都知道如何进行此转换?

由于

编辑:我不确定我的问题是否足够清楚,我不相信这种情况并不常见。我想要做的就是从我的数据绑定控件中获取数据,将其放入变量中,添加非数据绑定数据(例如上面示例中的ifDDateEntered = DateTime.Now),然后将数据保存到数据库中。 / p>

我在VB.Net中已经完成了这个,但是VB.Net自动从DataSource转换到Variable。这是VB.Net代码:

            Dim t = ticketBindingSource.DataSource
            t.DateEntered = DateTime.Now()
            TicketService.SaveTicket(t)

C#不会自动执行此操作,但会抛出错误。

2 个答案:

答案 0 :(得分:0)

我不确定你的问题,但这两行没有意义:

Ticket t = new Ticket();
t = (Ticket)ticketBindingSource.DataSource;

您创建故障单并将其分配给t。

然后,您立即将t重新分配给其他内容。您创建的故障单永远不会被使用并被垃圾收集。

答案 1 :(得分:0)

我不知道你究竟想要什么,但这是一个非常好的例子:

Insert, Update and Delete using Entity Framework

我希望能帮助你。

快乐的代码!