2016-08-13 10 views
0

でのDataTableからsoruceがnullでない場合、私は2つの列(送信元、送信先)を持っていると私は、私は2つのフィルタ(送信元、送信先)を持っている条件 と、そこから選択したいこと、データテーブルを持っている複数の条件

を選択先の両方が、それは、送信元と宛先のようにどこから選択nullではない場合

これは私のコードであることは先 のようにどこから選択nullでない場合、それはsoruce
のようにどこから選択

if (model.source != null&&model.destination == null) 
{ 
    var result = _filterFly.Select("source like '" + model.source + "%'"); 

    if (result.Any()) _filterFly = result.CopyToDataTable(); else _filterFly.Clear(); 
} 

if (model.source==null&&model.destination != null) 
{ 
    var result = _filterFly.Select("destination like '" + model.destination + "%'"); 

    if (result.Any()) _filterFly = result.CopyToDataTable(); else _filterFly.Clear(); 
} 

if (model.source!=null&&model.destination != null) 
{ 
    var result = _filterFly.Select("source like '" + model.source + "%'"); 

    if (result.Any()) _filterFly = result.CopyToDataTable(); else _filterFly.Clear(); 

    result = _filterFly.Select("destination like '" + model.destination + "%'"); 

    if (result.Any()) _filterFly = result.CopyToDataTable(); else _filterFly.Clear(); 


} 

私の質問は、このシナリオにとってどんな方法ですか? あなたのお手伝いをしていただきありがとうございます。

答えて

0

これはあなたの明確なコードです。あなたは

if (model.newparam!= null) 
{ 
    if(query!=string.Empty) 
     query+=" and "; 
    query +="newparam like '" + model.newparam + "%'"; 
} 
+0

は、非常にあなたのアイデアや助けのための感謝の新しいパラメータで3行を追加することができ、この傾向

string query =""; if (model.source != null) query +="source like '" + model.source + "%'"; if (model.destination != null) { if(query!=string.Empty) query+=" and "; query +="destination like '" + model.destination + "%'"; } if(query!=string.Empty) { var result=_filterFly.Select(query); if (result.Any()) _filterFly = result.CopyToDataTable(); else _filterFly.Clear(); } 

ので、基本的に継続することができます –

関連する問題