2017-10-01 5 views
0

配列が与えられているので、複数のチェックボックスグループの状態に対してレコードをフィルタリングし、配列にチェックを入れて、対応する値チェックされているチェックボックスと一致します。私は約10の異なるグループのチェックボックスでこれを行う必要があります。そのうちの2つは以下に示されています。別の注意点は、最初のチェックボックスに3つのチェックボックスが表示されているとしますが、顧客がより多くの基準を考えると来年には4つの可能性があります。だから私は、新しいチェックボックスが追加されたときにコードを変更しないようにしたいと思っています。これを行うには良い方法はありますか?あるいは、私はちょうど以下のような配列に対してチェックボックスグループをチェックする必要がありますか?配列に対して複数のチェックボックスの状態を確認する

var showRecord = false; 

// 3 at this time...but could be more one day. 
if (checkboxDevelopment.Checked && myArray[10].ToString() == "Development") 
    || (checkboxStaging.Checked && myArray[10].ToString() == "Staging" 
    || (checkboxProduction.Checked && myArray[10].ToString() == "Production") 
{ 
    showRecord = true; 
} 
else 
{ 
    showRecord = false; 
} 

// If the 1st test passed, keep checking. 
if (showRecord) 
{ 
    // 4 in this group...but could be more one day. 
    if (checkboxPass.Checked && myArray[11].ToString() == "Pass") 
     || (checkboxFail.Checked && myArray[11].ToString() == "Fail" 
     || (checkboxUnknown.Checked && myArray[11].ToString() == "Unknown" 
     || (checkboxError.Checked && myArray[11].ToString() == "Error") 
    { 
     showRecord = true; 
    } 
    else 
    { 
     showRecord = false; 
    } 

} 

// A bunch more checkboxes to go through until I can decide if to show the record or not. 
... 

if (showRecord) 
{ 
    // Code to show the record in the user's search results. 
} 
+0

_myArray_が文字列の配列の場合、各要素にToStringを呼び出す必要はありません – Steve

+0

私が物事を見ていない限り、以前は答えがありませんでしたか? – Wannabe

+0

間違っていた – Steve

答えて

0

頭に浮かぶ唯一のものはこれです:

:あなたはあなたのスニペットのような命名規則に従うと、自分のグループにチェックボックスの各グループを置くならば、あなたはこのような何かを試みることができる
var showRecord = false; 
     foreach (CheckBox item in checkboxGroup1) 
     { 
      if (item.Checked && myArray[10].ToString()==item.Name.ToString().Substring(8)) 
      { 
       showRecord = true; 
       break; 
      } 
     } 

チェックボックスグループを反復し、チェックボックスのいずれかが選択され+名前が正しい場合は、showRecordをtrueに設定してループを解除します。 各グループのチェックボックスを繰り返します。 これが役立つことを願っています。

+0

ありがとうございました...それは私が持っているチェックボックスの数を心配することなくそれにアプローチする良い方法です。 – Wannabe

関連する問題