2017-01-16 6 views
-1

ページの読み込み時にRadCBList項目が表示されます。しかし、私が検索ボタンを押すと、彼らは消えてしまいます。ここデータベースから選択したRadcheckboxリスト

コード(ASCX):ここ

<telerik:RadCheckBoxList Enabled="false" runat="server" ID="cblDurum" AutoPostBack="false" Direction="Vertical" CssClass="content"> 
    <Items> 
     <telerik:ButtonListItem Text="PS" Value="0" /> 
     <telerik:ButtonListItem Text="LC" Value="1" /> 
     <telerik:ButtonListItem Text="GB" Value="2" /> 
     <telerik:ButtonListItem Text="MINOR" Value="3" /> 
     <telerik:ButtonListItem Text="TEST" Value="4" /> 
     <telerik:ButtonListItem Text="OTHER" Value="5" /> 
     <telerik:ButtonListItem Text="PRESERVATION" Value="6" /> 
     <telerik:ButtonListItem Text="BORESCOPE" Value="7" /> 
     <telerik:ButtonListItem Text="TESELLUM" Value="8" /> 
     <telerik:ButtonListItem Text="SEVK" Value="9" /> 
     <telerik:ButtonListItem Text="RECEIVING TEST" Value="10" /> 
    </Items> 
</telerik:RadCheckBoxList> 

コード(CS):私は真/ DBから偽持っ

var result = apuSrv.GetInfos(txtWO.Text); 
DataTable dt = result.ToDataTable(); 
if (dt.Rows[0]["PS"].ToBoolean()) 
    cblDurum.Items[0].Selected = true; 
if (dt.Rows[0]["LC"].ToBoolean()) 
    cblDurum.Items[1].Selected = true; 
if (dt.Rows[0]["GB"].ToBoolean()) 
    cblDurum.Items[2].Selected = true; 
if (dt.Rows[0]["MINOR"].ToBoolean()) 
    cblDurum.Items[3].Selected = true; 
if (dt.Rows[0]["TEST"].ToBoolean()) 
    cblDurum.Items[4].Selected = true; 
if (dt.Rows[0]["OTHER"].ToBoolean()) 
    cblDurum.Items[5].Selected = true; 
if (dt.Rows[0]["PRESERVATION"].ToBoolean()) 
    cblDurum.Items[6].Selected = true; 
if (dt.Rows[0]["BORESCOPE"].ToBoolean()) 
    cblDurum.Items[7].Selected = true; 
if (dt.Rows[0]["INN"].ToBoolean()) 
    cblDurum.Items[8].Selected = true; 
if (dt.Rows[0]["OUT"].ToBoolean()) 
    cblDurum.Items[9].Selected = true; 
if (dt.Rows[0]["RECEIVING_TEST"].ToBoolean()) 
    cblDurum.Items[10].Selected = true; 

。私はそれらを読んで、それらにcblistを記入したい。しかし、ポストバックが完了すると、cblistは空になります。

+0

このコードは 'Page_Load()'にありますか?何かエラーがありますか? –

+0

Object.ToBoolean() –

+0

このコードはbutton_clickにあります。エラーはありません。チェックボックスリスト項目は消えます。 –

答えて

0

私のために、ここで簡単な修正であればあなたのコードはObject.ToBoolean()

あまりにmutchを除いて取り組んでいる:

foreach (ButtonListItem Item in cblDurum.Items) 
{ 

    Item.Selected = (bool)dt.Rows[0][Item.Text]; 

    // OR With 
    Item.Selected = ((DataRow)dt.Rows[0]).Field<bool>(Item.Text); 

    // OR BY Item.Value 
    int IntValue; 
    if (int.TryParse(Item.Value, out IntValue)) 
     Item.Selected = (bool)dt.Rows[0].ItemArray[IntValue] 
} 

場合、これはエラーが発生します:

  1. dt.Rows [0]行が存在しない場合。
  2. フィールド(Item.Text)これまでで最高の方法はDatabindingを使用することです

をブール値へのオブジェクトから不可能なキャスト場合Item.Text

  • ようにという名前のフィールドが存在しない場合。

  • +0

    まだ選択されているアイテムはありません。データベースがtrue/falseを送信し、trueの場合はcblDurum.Items [0] .Selectedを選択する必要があります。しかし、全体のアイテムとテキストは消えます。 –

    +0

    質問に表示されるコードに問題はありませんが、問題なく動作します。私はあなたの問題を理解しています。しかし、彼は問題のコードは問題のソースではありません。私はあなたの行動がどこから来るのかを見つけるための簡単なガイドラインを与える質問にコメントしました。 –

    関連する問題