从更多的2个表中绑定gridview

时间:2013-02-27 02:59:59

标签: c# sql gridview

[我正在尝试从表中绑定gridview并在另一个表中绑定更新记录]

实际上我有两个sql表,名为mtblVehicle_Booking和mtblLog_Book。在两个表中,所有列都相同,但mtblLog_Book还有2列KM_Start和KM_End。

实际上我从mtblVehicle_Booking表(没有KM_Start和KM_End列)绑定gridview。另一方面我在gridview中给出了编辑选项,但是当我需要编辑这个gridview时,colums KM_Start和KM_End应该作为编辑表单进入gridview,并且在更新gridview之后,应该在gridview中看到更新的信息。

我怎样才能做到这一点。

你可以将它作为一个Gridview与一个表绑定,但是当它得到更新时,这应该与另一个表部分地绑定更新的信息,gridview的其余部分应该与第一个绑定。

假设gridview从table1获得了5行,如果我编辑了两行用于更新table2,那么gridview应该显示table2中的这2行,而table1中的其余行实际上已经更新了。

1 个答案:

答案 0 :(得分:0)

所以我不知道我们谈论的是什么类型的数据存储库,但是:

1)为什么不完全绑定到mtbLog_Book并在完成前端数据更新时协调与mtbVehicle_Booking的差异?

2)或加入两个对象:

class Program
{
    static void Main(string[] args)
    {
        var obj1 = new List<SomeOBject1>();
        var obj2 = new List<SomeOBject2>();
        var randomData1 = new SomeOBject1 { Id1 = 1, SomeData1 = "one" };
        var randomData2 = new SomeOBject2 { Id2 = 1, SomeData2 = "two", End = DateTime.Now, Start = DateTime.Now };
        obj1.Add(randomData1);
        obj2.Add(randomData2);

        var bound = obj1.Join(obj2, o1 => o1.Id1, o2 => o2.Id2, (o1, o2) => new {o1, o2.Start, o2.End});

    }

}

public class SomeOBject1
{
    public int Id1 { get; set; }
    public string SomeData1 { get; set; }

}
public class SomeOBject2
{
    public int Id2 { get; set; }
    public string SomeData2 { get; set; }
    public DateTime Start { get; set; }
    public DateTime End { get; set; }

}

3)或者在将数据提取到c#之前在sql中创建连接。 (对不起,我的sql代码由于某种原因没有显示出来)

Select vb.*,lg.start,lg.end from mtblVehicle_Booking vb join mtblLog_Book lg on vb.whateverKeyTheyShare = lg.whateverKeyTheyShare

4)或使用两个额外的列在mtblVehicle_Booking对象上创建一个分部类。然后调和mtbLog_Book。