2009-09-23 8 views
0

i ont le gridview suivantligne mise à jour de problème dans Gridview BOUND combobox

  <asp:GridView ID="GridView3" runat="server" AllowPaging="True" AllowSorting="True" 
       AutoGenerateColumns="False" DataKeyNames="ID" DataSourceID="CommentsDataSource"> 
       <Columns> 
        <asp:BoundField DataField="Firstname" HeaderText="Firstname" SortExpression="Firstname" /> 
        <asp:BoundField DataField="Surname" HeaderText="Surname" SortExpression="Surname" /> 
        <asp:BoundField DataField="Comment" HeaderText="Comment" /> 
        <asp:BoundField DataField="DateAdded" HeaderText="DateAdded" SortExpression="DateAdded" /> 
        <asp:TemplateField HeaderText="Approval"> 
         <ItemTemplate> 
          <%#Eval("NewsCommentStatus.Name") %> 
         </ItemTemplate> 
         <EditItemTemplate> 
          <asp:DropDownList ID="DropDownList2" runat="server" SelectedValue='<%# Eval("ApprovalStatusID") %>' 
           DataSourceID="CommentStatusDataSource" DataTextField="Name" DataValueField="ID"> 
          </asp:DropDownList> 
         </EditItemTemplate> 
        </asp:TemplateField> 
        <asp:CommandField ShowEditButton="true" EditImageUrl="~/Admin/Theme/images/Icons/pencil.png" 
         EditText="Edit" /> 
       </Columns> 
      </asp:GridView> 
     </ContentTemplate> 

et les sources de données sont les suivantes:

<asp:LinqDataSource ID="CommentsDataSource" runat="server" ContextTypeName="CMSSystem.Models.CMSDatabaseDataContext" 
    TableName="NewsComments" Where="NewsID == @NewsID" EnableUpdate="True"> 
    <WhereParameters> 
     <asp:SessionParameter Name="NewsID" SessionField="NewsItemID" Type="Int32" /> 
    </WhereParameters> 
</asp:LinqDataSource> 
<asp:LinqDataSource ID="CommentStatusDataSource" runat="server" ContextTypeName="CMSSystem.Models.CMSDatabaseDataContext" 
    TableName="NewsCommentStatus"> 
</asp:LinqDataSource> 

le problème im avoir est quand le combobox change la valeur est de ne pas mis à jour est-il quelque chose d'évident que j'ai raté?

Répondre

2

Utiliser Lier au lieu de Eval. La liaison est utilisée pour la liaison de données bidirectionnelle:

<asp:DropDownList ID="DropDownList2" runat="server" SelectedValue='<%# Bind("ApprovalStatusID") %>' 
    DataSourceID="CommentStatusDataSource" DataTextField="Name" DataValueField="ID"> 
</asp:DropDownList> 
+0

Oui c'est le problème merci beaucoup! –

Questions connexes