0

[テーブルからグリッドビューをバインドし、別のテーブルのレコードを更新しようとしています]

実際には、mtblVehicle_Booking と mtblLog_Book という名前の 2 つの SQL テーブルがあります。両方のテーブルですべての列は同じですが、mtblLog_Book にはさらに 2 つの列 KM_Start と KM_End があります。

実際には、mtblVehicle_Booking テーブル (KM_Start 列と KM_End 列を持たない) から gridview をバインドしています。反対側には gridview で編集オプションを指定しましたが、この gridview を編集する必要がある場合は、列 KM_Start と KM_End が編集フォームとしてその gridview に表示され、gridview を更新した後、更新された情報が gridview に表示されます。

どうすればこれを達成できますか。

1 つのテーブルにバインドされた Gridview として取得できますが、更新されると、これは更新された情報を持つ他のテーブルに部分的にバインドされ、残りのグリッドビューは最初のテーブルにバインドされる必要があります。

gridview に table1 から 5 行があり、table2 を更新するために 2 行を編集すると、gridview には table2 からのこれら 2 行と、実際にボットが更新された table1 からの残りの行が表示されるはずです。

4

1 に答える 1

0

したがって、どのようなデータ リポジトリについて話しているのかわかりませんが、

1) mtbLog_Book にバインドし、フロント エンドのデータ更新が完了したら、mtbVehicle_Booking との違いを調整しないのはなぜですか?

2) または 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 オブジェクトに 2 つの余分な列を含む部分クラスを作成します。次に、mtbLog_Book を調整します。

于 2013-02-27T06:00:54.293 に答える