0

2 つのボタンを持つラジオ ボタン リストがあります。かなりイエスとノーです。ユーザーはいずれかを選択し、保存ボタンを押します。yes または no は、0 または 1 の値に設定されます。いいえの場合は 0、はいまたは true false の場合は 1。これは私のデータベース(ビット列)に保存されます。データベースからその情報を取得し、ユーザーが選択を編集したいときに結果を入力しようとしています。関連するコードは次のとおりです。

<fieldset id="Fieldset1" style="display: inline-block; width: 138px;">
<label style="top: 0"><span class="star">&#8727;</span><b><u>AMI Event Options</u></b></label>
<asp:RadioButtonList ID="EventBoolAMI" runat="server">
    <asp:ListItem Text="AMI Event" Value="0"/> 
    <asp:ListItem Text="Non-AMI Event" Value="1" />
</asp:RadioButtonList>

foreach (RadioButtonList nonAMIevent in EventBoolAMI.Items)
{
  switch (nonAMIevent.SelectedItem.Value)
  {
    case "AMI Event":
        nonAMIevent.SelectedItem.Value = Convert.ToBoolean(theEvent.Rows[0][5]);
        break;
    case "Non-AMI Event":
        nonAMIevent.SelectedItem.Value = Convert.ToBoolean(theEvent.Rows[0][5]);
        break;
  }
}

ここでは for ループは必要ないと思いますが、データベースから値を取得する方法とその値を設定する方法を理解しようとしています。データベースからの値はビット (0 または 1) です。だから私はどちらがであるかを設定する必要があります。リスト項目の値が 0 または 1 であるため、AMI EVENT が選択されているか、NON が選択されているかをリストが評価する方法です。

コンボボックスに最適な同様のことをしましたが、これは別のコントロールであるため、別のロジックが必要であることを理解しています。どんな助けでも大歓迎です。これが私がやったことのコードです。

<telerik:RadComboBox ID="NotifyOptions" CheckBoxes="true" OnClientSelectedIndexChanged="NotifyOptions_SelectedIndexChanged"
    runat="server" EmptyMessage="Notification Options"
    onselectedindexchanged="NotifyOptions_SelectedIndexChanged" Width="150px" 
    CollapseAnimation-Duration="0" ExpandAnimation-Duration="0" >
    <Items>
        <telerik:RadComboBoxItem Value="phone" Text="Phone" />
        <telerik:RadComboBoxItem Value="text" Text="Text Message" />
        <telerik:RadComboBoxItem Value="email" Text="Email" />
        <telerik:RadComboBoxItem Value="all" Text="All" />
    </Items>
</telerik:RadComboBox>

foreach (RadComboBoxItem notifyItem in NotifyOptions.Items)
{
    switch (notifyItem.Value)
    {
        case "all":
          notifyItem.Checked = Convert.ToBoolean(theEvent.Rows[0][9]);
          break;
        case "email":
          notifyItem.Checked = Convert.ToBoolean(theEvent.Rows[0][6]);
          break;
        case "text":
          notifyItem.Checked = Convert.ToBoolean(theEvent.Rows[0][7]);
          break;
        case "phone":
          notifyItem.Checked = Convert.ToBoolean(theEvent.Rows[0][8]);
          break;
    }
}
4

0 に答える 0