0

Telerikの を使用して、ページの他の場所に基づいてのプロパティをRadGrid切り替えようとしています。RadioButtonListAutoPostBackCheckBox

<telerik:RadGrid ID="rg" runat="server" Skin="Office2010Silver" GridLines="Both" OnNeedDataSource="rg_NeedDataSource"
                 OnItemDataBound="rg_ItemDataBound">
    <MasterTableView Width="100%" DataKeyNames="StudentID, Response, Tested">
        <Columns>
            <telerik:GridBoundColumn UniqueName="StudentName" HeaderText="Student Name" DataField="StudentName"></telerik:GridBoundColumn>
            <telerik:GridBoundColumn UniqueName="StudentID" HeaderText="Student ID" DataField="StudentID"></telerik:GridBoundColumn>
            <telerik:GridBoundColumn UniqueName="Answer" HeaderText="Answer" DataField="Answer"></telerik:GridBoundColumn>
            <telerik:GridBoundColumn UniqueName="Response" HeaderText="Score" DataField="Response"></telerik:GridBoundColumn>
            <telerik:GridTemplateColumn HeaderText="Score" ItemStyle-Wrap="false">
                <ItemTemplate>
                    <asp:RadioButtonList ID="rblScore" runat="server" RepeatLayout="Flow" RepeatDirection="Horizontal" OnSelectedIndexChanged="rblScore_IndexChanged" AutoPostBack='<%#Eval(chkAutoSave.Checked.ToString()) %>'></asp:RadioButtonList>
                </ItemTemplate>
            </telerik:GridTemplateColumn>
        </Columns>
    </MasterTableView>
</telerik:RadGrid>

次のエラーが表示されます:DataBinding: 'System.Data.DataRowView'名前のプロパティが含まれていませんTrue。このようにすることは可能ですか、それとも 内でこれを行う必要がありますItemDataBoundか?

4

2 に答える 2

0

first Give an Id to the Template Column

 <telerik:GridTemplateColumn HeaderText="Score" ItemStyle-Wrap="false" ID="Score">
                <ItemTemplate>
                    <asp:RadioButtonList ID="rblScore" runat="server" RepeatLayout="Flow" RepeatDirection="Horizontal" OnSelectedIndexChanged="rblScore_IndexChanged" AutoPostBack='<%#Eval(chkAutoSave.Checked.ToString()) %>'></asp:RadioButtonList>
                </ItemTemplate>
            </telerik:GridTemplateColumn>

In Code Behind:

  protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e)
            {
    if (e.Item is GridDataItem)
                            {
    GridDataItem dataBoundItem = e.Item as GridDataItem;
    Bool _boolChecked=Convert.ToBoolean(dataBoundItem["chkAutoSave.Checked"].toString());
              ((RadioButtonList )dataBoundItem["Score"].FindControl("rblScore")).AutoPostBack= _boolChecked;
    }
    }

Regards

于 2013-05-17T16:47:46.737 に答える
0

私は先に進んで ItemDataBound を使用しましたが、それはうまくいきます...しかし、誰かがこれに対する解決策を持っているなら、私は興味があります.

于 2013-05-17T16:41:34.480 に答える