0

次のように、各リストビューにチェックボックスがあるリストビューのグループがあります。

<telerik:RadListView Skin="Vista" ID="RadListView3" DataSourceID="SqlDataSource_subentry"
                                    runat="server"  ItemPlaceholderID="EmployeesContainer" DataKeyNames="ID">
                                    <LayoutTemplate>
                                        <fieldset id="FieldSet1">
                                            <legend>Issues</legend>
                                            <asp:PlaceHolder ID="EmployeesContainer" runat="server" ></asp:PlaceHolder>

                                            <br />
                                            <br />                                                
                                        </fieldset>
                                    </LayoutTemplate>
                                    <ItemTemplate>
                                        <div style="width:200px; height:165px; -webkit-border-radius: 20px;-moz-border-radius: 20px; border-radius: 20px;
                                            border:2px solid black; background-color:#00FFFF; text-align:center; margin-top:20px; margin-bottom:10px;  
                                             margin-left:20px; ">
                                             <br />
                                             <div style=" width:190px; height:auto; font-size:small;color:#000099; text-align:left; margin-left:12px;"><%#Eval("Worked_Project")%>      
                                               &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;   
                                               <label id="Label1" runat="server"><%# Eval( "ID" ) %></label>
                                                 <asp:CheckBox ID="MyCheckBox" runat="server"  Text=<%# Eval( "ID" ) %>/></div>
                                             <div style="width:190px; height:auto; font-size:small;color:black;text-align:center; padding-left:2px; margin-left:5px;" ><%# DataBinder.Eval(Container.DataItem, "Week_Ending", "{0:d/M/yyyy }")%></div>
                                             <div style=" width:190px; height:75px; font-size:large; color:#000099; text-align:center; "><%#Eval("Activity")%> </div>
                                             <div style=" width:190px; height:auto; font-size:small;color:black; text-align:left;  margin-left:12px; margin-bottom:5px; "><%#Eval("UserId")%> </div>

                                         </div>


                                    </ItemTemplate>

ボタンをクリックすると、特定のチェックボックスに関連付けられたIDを次のように選択したい:

 protected void Button1_Click(object sender, EventArgs e)
{


    foreach (Control   ctl in RadListView3.Controls)
    {


        CheckBox chk = (CheckBox)ctl.FindControl("MyCheckBox");

       if (chk.Checked== true)
            {

                string value = chk.Text.ToString();
                Session["id"] = value.ToString();
                Label2.Text = Session["id"].ToString();
            }

     }




}

しかし、コード行でエラーが発生しています:

 if (chk.Checked== true)

エラーは

Object reference not set to an instance of an object.

助けてください

4

2 に答える 2

1

これを試して:

protected void RadListView1_ItemCommand(object sender,Telerik.Web.UI.RadListViewCommandEventArgs e)
{
    CheckBox button = (CheckBox)e.ListViewItem.FindControl("CheckBox1");

    if (e.CommandName == "Approve")
    {
        if (button.Checked == true)

        {
           //your code
        }

        else

        {
           //your code
        }

    }

}

または、ボタンクリックのみ(ループ)でIDを選択する必要がある場合は、以下のリンクに従ってください。

http://www.telerik.com/community/forums/aspnet-ajax/listview/get-selected-value-of-radlistview.aspx

于 2013-08-03T08:01:14.580 に答える
0

最初にこのコントロールのタイプを確認する必要があります

CheckBox chk = ctl as CheckBox ;
if (chk !=null)
{
 //do something 
}

より詳しい情報。 キーワードとして_

于 2012-12-10T16:18:24.143 に答える