2016-05-25 9 views
1

ich ein String-Variable habe alsWählen Checkbox Listenelement auf Zeichen in einer Zeichenkette in Abhängigkeit

string s = "QQQNQQQ"; 

folge Ich habe auch eine CheckBoxList mit den folgenden Elementen

<asp:CheckBoxList ID="cbWorkPattern" runat="server" AutoPostBack="true" RepeatDirection="Horizontal" OnSelectedIndexChanged="cbWorkPattern_SelectedIndexChanged"> 
    <asp:ListItem Text="Sunday" Value="0"></asp:ListItem> 
    <asp:ListItem Text="Monday" Value="1" ></asp:ListItem> 
    <asp:ListItem Text="Tuesday" Value="2" ></asp:ListItem> 
    <asp:ListItem Text="Wednesday" Value="3" ></asp:ListItem> 
    <asp:ListItem Text="Thursday" Value="4" ></asp:ListItem> 
    <asp:ListItem Text="Friday" Value="5" ></asp:ListItem> 
    <asp:ListItem Text="Saturday" Value="6"></asp:ListItem> 
</asp:CheckBoxList> 

Ich mag jede CheckBox in auszuwählen die CheckBoxList, wenn ein Zeichen in einer Zeichenfolge s gleich "Q" ist. Zum Beispiel sollte in der oben angegebenen Zeichenfolge der Mittwoch nicht ausgewählt werden und die verbleibenden Tage sollten ausgewählt werden. Wie kann ich dies mit C# erreichen?

Antwort

1

Wenn Sie wissen, dass Sie immer genau sieben Zeichen lang sein wird, könnten Sie durch Ihre Zeichenfolge durchlaufen und die Elemente aus Ihrem CheckBoxList wählen, dass die Indizes verwenden, die „Q“ enthalten:

string s = "QQQNQQQ"; 
// Iterate through your string 
for(var i = 0; i < s.Length; i++) 
{ 
    // If the current character is 'Q', then select this option 
    if(s[i] == 'Q') 
    { 
      // Find the cooresponding value for this element and select it 
      cbWorkPattern.Items.FindByValue(i.ToString()).Selected = true; 
    } 
} 

, die ergeben würde:

enter image description here

+0

Danke Williams. Der Code funktioniert für mich. – Vinoth

Verwandte Themen