すいません、VB4しかやってないんです、VBAはやったけど(ぼそ) チラシの裏だって立派な書き込み空間なんだからねっ!資源の有効活用なんだからねっ!とか偉そうに言ってるけど、実は色々と書き残したいだけ

だからなに? どうしろと? くるみサイズの脳みそしかないあやしいジャンガリアンベムスターがさすらう贖罪蹂躙(ゴシックペナルティ)

ホーム 連絡をする 同期する ( RSS 2.0 ) Login
投稿数  632  : 記事  35  : コメント  11686  : トラックバック  143

ニュース


片桐 継 は
こんなやつ

かたぎり つぐ ってよむの

大阪生まれ河内育ちなんだけど
関東に住みついちゃったの
和装着付師だったりするの
エセモノカキやってたりするの
VBが得意だったりするの
SQL文が大好きだったりするの
囲碁修行中だったりするの
ボトゲ好きだったりするの
F#かわいいよF#

正体は会った人だけ知ってるの

空気読まなくてごめんなさいなの


わんくまリンク

C#, VB.NET 掲示板
C# VB.NET掲示板

わんくま同盟
わんくま同盟Blog


WindowsでGo言語
WindowsでGo言語


ネット活動


SNSは疲れました

記事カテゴリ

書庫

日記カテゴリ

ギャラリ

イベント活動

プログラムの活動

もっと簡単な方法はあるんだろうなと思いつつ、VB4なステゴサウルスは今日もがんばる(笑)

さて、一覧ができたので、次は検索機能を。ランク、ダンジョン、報酬で検索するんだけど、絞り込み条件は色々と組み合わせられて、かつ、それらをAND条件にしたいわけです。

image

まだリストはバグバグだけど、とりあえずできてる。なのでこの段階で一覧から入力するコントロールを配置。「(すべて)」は必須だとおもってるので、静的カラムも追加して、AppendDataBoundItemsをTrueにセット。で、考えたこと。Oracleなんかの動的Where句がLINQでかけるのかどうかがよくわからない(おい)。そこで、対象データのMIDを収集してそれでJOINすることでLINQ部分は静的コードでかけるなぁ、と。

        'コンテキスト宣言
        Dim pMContext = New nListDataContext
        'まずは全件とっちゃう
        Dim dMl = From L In pMContext.pMission Select L.RNK, L.DID, L.RWRD, L.MID
        'ランクで絞込み
        If dRank.SelectedIndex > 0 Then
            dMl = From L In dMl Where L.RNK = dRank.SelectedValue
        End If
        'ダンジョンで絞込み
        If dDNGN.SelectedIndex > 0 Then
            dMl = From L In dMl Where L.DID = dDNGN.SelectedValue
        End If
        '報酬をあいまい検索
        If tRWD.Text > "" Then
            dMl = From L In dMl Where L.RWRD Like "*" & tRWD.Text & "*"
        End If
        '対象データがあったらバインド、なかったらごめんなさい
        If dMl.Count > 0 Then
            Gd.DataSource = From L In pMContext.pMission Where L.MID Join M In dMl On L.MID Equals M.MID _
                           Select _
                            DNGN = L.dMaster.DNAME & "(" & L.FLR & "F)", _
                            RANK = L.RNK & "(" & L.LVL & ")", _
                            RWD = L.RWRD, _
                            PWD = L.PWD1 & " " & L.PWD2 & " " & L.PWD3 & " " & L.PWD4 & " " & L.PWD5 & " " & L.PWD6
        Else
            Gd.DataSource = Nothing
        End If
 
        Gd.DataBind()
 

みたいなソースを書いてみたところ……

image

できたw

投稿日時 : 2007年9月29日 13:45

コメント

# re: LINQ使いつつ、動的条件でデータを検索してみる 2007/09/30 11:16 渋木宏明(ひどり)
>動的Where句がLINQでかけるのかどうかがよくわからない

ラムダを意識的に使えば出来るんじゃないかと。



# re: LINQ使いつつ、動的条件でデータを検索してみる 2007/09/30 14:16 片桐
らむだ。。。そか、そいつかorz
情報ありがとうございます。

サンプルがMSDNに落ちてました、そういえば。
んー、C#ならお気楽に手を出してたんですけどね(笑)

# 白鳥の足のあがき方(VB.NETのLINQでページング) 2007/10/09 23:15 すいません、VB4しかやってないんです、VBAはやったけど(ぼそ)
白鳥の足のあがき方(VB.NETのLINQでページング)

# ImAPTrbNaLPAHztIRUJ 2011/12/16 1:25 http://www.heartlandvetsupply.com/
The material is on the five plus. But there is a minus! My internet speed 56kb/sek. The page was loading for about 40 seconds!...

# rHovRkxSnTgFYN 2011/12/22 19:54 http://www.discreetpharmacist.com/
YezwtM Hooray! the one who wrote is a cool guy..!

Post Feedback

タイトル
名前
Url:
コメント