J'utilise un RadGrid
de Telerik et d'essayer de passer une propriété de AutoPostBack
RadioButtonList
basée sur une CheckBox
ailleurs sur la page.Utiliser eval pour définir la propriété AutoPostBack dans ItemTemplate
<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>
Je reçois l'erreur: DataBinding: 'System.Data.DataRowView'
ne contient pas une propriété avec le nom True
. Est-il possible de le faire de cette façon, ou ai-je besoin de le faire au sein de ItemDataBound
?
Je ne connais pas le RadGrid mais je l'ai utilisé Eval assez souvent avec des répéteurs et c'est toujours dans le contexte des données qui sont liées au répéteur, ce qui semble être le même ici. Il semble qu'il essaie de trouver ce que chkAutoSave.Checked.ToString() évalue, ce qui est vrai, dans le DataRowView qui est lié au RadGrid. Essayez de vous débarrasser de la déclaration Eval. <% chkAutoSave.Checked%> – ammills01