1

Asp.NetでプログラムされたWebサイトがあり、データを表示するためにListViewを使用しています。データはLinqDataSourceから取得されます。

EditItemTemplateには、次のもので構成されるCheckBoxListがあります。

<asp:CheckBoxList runat="server" ID="TypeCheckBoxList" RepeatColumns="2">
 <asp:ListItem Value="128">6.-10. klasse<br />Norddjurs vejleder</asp:ListItem>
 <asp:ListItem Value="64">6.-10. klasse<br />Syddjurs vejleder</asp:ListItem>
 <asp:ListItem Value="32">Gået ud af skolen<br/>Norddjurs vejleder</asp:ListItem>
 <asp:ListItem Value="16">Gået ud af skolen<br/>Syddjurs vejleder</asp:ListItem>
 <asp:ListItem Value="8">Ekstra støtte<br/>Norddjurs vejleder</asp:ListItem>
 <asp:ListItem Value="4">Ekstra støtte<br />Syddjurs vejleder</asp:ListItem>
 <asp:ListItem Value="2">Kontakt</asp:ListItem>
 <asp:ListItem Value="1">Om os<br />Medarbejdere</asp:ListItem>
</asp:CheckBoxList>

データベースにTypeという列があり、それはtinyintです。したがって、(byte)Eval( "Type")と言うことができます。

しかし、Eval( "Type")をCheckBoxListにデータバインドして、Eval( "Type")が3の場合、最後の2つの項目が選択されるようにするにはどうすればよいですか?

Typeにバインドする非表示の値を設定してから、CheckBoxListOnLoadで選択したアイテムを設定してみました。しかし、それはうまくいきませんでした。

4

2 に答える 2

3

非表示の値を Type にバインドする方法ですが、ListView の ItemDataBound イベントで行います。

したがって、イベントは次のようになります。

protected void ListViewId_ItemDataBound (object sender, ListViewItemEventArgs e)
{
    HiddenField hdfType = (HiddenField)e.Item.FindControl("hdfType");
    CheckBoxList TypeCheckBoxList = (HiddenField)e.Item.FindControl("TypeCheckBoxList");

    // and you put the hidden just for EditItem and do:
    if (hdfType != null)
        foreach (ListItem item in TypeCheckBoxList.Items)
            if (int.Parse(item.Value) < int.Parse(hdfType.Value))
                item.Selected = true;
}

(全て頭の中で書いたので、細かい間違いがあるかもしれません)

于 2009-09-23T06:51:48.987 に答える
0

まず、次のような JavaScript 関数を作成する必要があります。

function Selected(value,type)

{

   if(value<type)
    return true;
   else
    return false;
}



<asp:ListItem Value="32" Selected= javascript:function Selected(32,Eval("Type"))>Gået ud af skolen<br />Norddjurs vejleder</asp:ListItem>    
<asp:ListItem Value="16" Selected= javascript:function Selected(16,Eval("Type")>Gået ud af skolen<br />Syddjurs vejleder</asp:ListItem> 

ファイナライズするには、少し変更が必要になる場合があります。選択された属性に重点を置いてください。

于 2009-09-22T06:44:09.297 に答える