1

以下の前と後を組み合わせて 1 つの結果にし、それを datagridview に渡す必要があります。結果を組み合わせる方法がわからないため、 before + after を使用しました。

        private void textBox6_Leave(object sender, EventArgs e)
    {
        DataClasses3DataContext db = new DataClasses3DataContext();

        int matchedAdd = (from c in db.GetTable<prop>()
                          where c.HOUSE_NO.Contains(textBox1.Text) && c.Direction.Contains(textBox2.Text) && c.street.Contains(textBox3.Text) && c.SUFF.Contains(textBox4.Text)
                          select c.ID).SingleOrDefault();

        var before = (from c in db.GetTable<prop>()
                      where c.ID < matchedAdd
                      orderby c.PARCEL descending
                      select c).Take(6);

        var after = (from c in db.GetTable<prop>()
                     where c.ID > matchedAdd
                     orderby c.PARCEL
                     select c).Take(6);

        var endResult = before + after;

        dgvBRT.DataSource = endResult;
        dgvBRT.Databind();
4

2 に答える 2

5

重複を処理する方法に応じて、またはの+いずれかが必要です (ユニオンは重複を削除します。連結は削除しません。たとえば、concatはであり、ユニオンは(ただし、ユニオン ケースで順序が定義されているかどうかは疑問です) )before.Concat(after)before.Union(after){1,2,2,3}{3,4}{1,2,2,3,3,4}{1,2,2,3}{3,4}{1,2,3,4}

于 2013-04-23T18:29:41.750 に答える
1

ユニオン演算子を使用できます:

var endresult = before.Union(after);
于 2013-04-23T18:29:28.677 に答える