2016-07-27 6 views
1

Ich hoffe, jemand wird freundlich genug sein, um mir dabei zu helfen, während ich noch ein wenig Vernunft übrig habe :(Telerik RadGrid verursacht Wert Ausnahme im Bearbeitungsmodus?

Ich habe ein radgrid, Daten über eine LINQ-Abfrage. Es zeigt, wie es sollte, und ich fügte ein Details Schaltfläche, die gut funktioniert Aber wenn ich auf die Schaltfläche bearbeiten traf ich. „JavaScript-Laufzeitfehler: Sys.WebForms.PageRequestManagerServerErrorException: Auswahl aus Parameter des Bereichsname: Wert“

ich über den Werten pored habe ich bekomme und sehe kein Problem, offensichtliches oder sonstiges. Mein Raster folgt (es tut mir leid, es ist ein wenig durcheinander):

<telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="False" 
     CellSpacing="0" GridLines="None" AllowPaging="True" 
     DataMember="id" 
     onneeddatasource="RadGrid1_NeedDataSource" 
      OnUpdateCommand="RadGrid1_UpdateCommand" PageSize="20" 
      onitemcommand="RadGrid1_ItemCommand" > 
<MasterTableView DataKeyNames="status,charity,make,model,year,vin,date,id,salePrice,bid,note" 
      EditMode="EditForms" EnableViewState="True"> 

<CommandItemSettings ExportToPdfText="Export to PDF"></CommandItemSettings> 

<RowIndicatorColumn Visible="True" FilterControlAltText="Filter RowIndicator column"> 
<HeaderStyle Width="20px"></HeaderStyle> 
</RowIndicatorColumn> 

<ExpandCollapseColumn Visible="True" FilterControlAltText="Filter ExpandColumn column"> 
<HeaderStyle Width="20px"></HeaderStyle> 
</ExpandCollapseColumn> 

    <Columns> 
    <telerik:GridButtonColumn CommandName="History" Text="History" UniqueName="detailBtn" HeaderText="History" HeaderButtonType="PushButton" AutoPostBackOnFilter="True"> 
         </telerik:GridButtonColumn> 
    <telerik:GridBoundColumn HeaderText="Charity" ItemStyle-Width="140px" FilterControlAltText="Filter column2 column" 
      UniqueName="column3" DataType="System.String" DataField="charity" ReadOnly="True"> 
<ItemStyle Width="140px"></ItemStyle> 
     </telerik:GridBoundColumn> 
     <telerik:GridBoundColumn HeaderText="VIN" ItemStyle-Width="140px" FilterControlAltText="Filter column6 column" 
      UniqueName="column7" DataType="System.String" DataField="vin" > 
<ItemStyle Width="140px"></ItemStyle> 
      </telerik:GridBoundColumn> 
     <telerik:GridBoundColumn HeaderText="Year" ItemStyle-Width="140px" FilterControlAltText="Filter column2 column" 
      UniqueName="column2" DataType="System.Int32" DataField="year"> 
<ItemStyle Width="140px"></ItemStyle> 
     </telerik:GridBoundColumn> 
     <telerik:GridBoundColumn HeaderText="Make" ItemStyle-Width="140px" FilterControlAltText="Filter column column" 
      UniqueName="column" DataType="System.String" DataField="make"> 
<ItemStyle Width="140px"></ItemStyle> 
     </telerik:GridBoundColumn> 
     <telerik:GridBoundColumn HeaderText="Model" ItemStyle-Width="140px" FilterControlAltText="Filter column1 column" 
      UniqueName="column1" DataType="System.String" DataField="model"> 
<ItemStyle Width="140px"></ItemStyle> 
      </telerik:GridBoundColumn>    
      <telerik:GridBoundColumn HeaderText="Last Update" ItemStyle-Width="140px" FilterControlAltText="Filter column1 column" 
      UniqueName="column5" DataType="System.DateTime" DataField="date" ReadOnly="True"> 
<ItemStyle Width="140px"></ItemStyle> 
     </telerik:GridBoundColumn> 
     <telerik:GridBoundColumn HeaderText="Min. Bid" ItemStyle-Width="140px" FilterControlAltText="Filter column1 column" 
      UniqueName="column8" DataType="System.Decimal" DataField="bid" DataFormatString="{0:C}" > 
<ItemStyle Width="140px"></ItemStyle> 
     </telerik:GridBoundColumn> 
     <telerik:GridBoundColumn HeaderText="Sale Price" ItemStyle-Width="140px" FilterControlAltText="Filter column1 column" 
      UniqueName="column6" DataType="System.Decimal" DataField="salePrice" DataFormatString="{0:C}" Display="False"> 
<ItemStyle Width="140px"></ItemStyle> 
     </telerik:GridBoundColumn> 
     <telerik:GridBoundColumn HeaderText="Notes" ItemStyle-Width="140px" FilterControlAltText="Filter column1 column" 
      UniqueName="unsoldNotesColumn" DataType="System.String" DataField="note" Display="True"> 
<ItemStyle Width="140px"></ItemStyle> 
     </telerik:GridBoundColumn> 
     <telerik:GridTemplateColumn HeaderText="Latest Status" ItemStyle-Width="240px"> 


         <ItemTemplate> 

          <%#DataBinder.Eval(Container.DataItem, "Status")%> 

         </ItemTemplate> 


         <EditItemTemplate> 

          <telerik:RadComboBox RenderMode="Lightweight" runat="server" ID="updateComboBox" DataTextField="Status" 

           DataValueField="ID" DataSourceID="LinqDataSource1" SelectedValue='<%#Bind("ID") %>' AutoPostBack="True" 
           > 

          </telerik:RadComboBox>       

         </EditItemTemplate> 


<ItemStyle Width="240px"></ItemStyle> 


        </telerik:GridTemplateColumn> 

        <telerik:GridEditCommandColumn FooterText="EditCommand footer" UniqueName="EditCommandColumn" 

         HeaderText="Edit" HeaderStyle-Width="100px" UpdateText="Update"> 

<HeaderStyle Width="100px"></HeaderStyle> 

        </telerik:GridEditCommandColumn> 



    </Columns> 

<EditFormSettings> 
<EditColumn FilterControlAltText="Filter EditCommandColumn column"></EditColumn> 
</EditFormSettings> 
</MasterTableView> 

<FilterMenu EnableImageSprites="False"></FilterMenu> 
    </telerik:RadGrid> 

Mein Code-Behind, in dem Fall, dass ein Lager auf diese hat, ist:

private void LoadUnsoldVehicleGrid() 
     { 


      CAAData2DataContext db = new CAAData2DataContext(); 


      var ud = db.Updates 

      .Where(c => c.Sold.Equals(false)) 
      .GroupBy(c => c.Vehicle) 
      .Select(x => x.OrderByDescending(y => y.TimeStamp).First()).ToList(); 

      var unSoldVehicles = (from u in ud 
            join v in db.Vehicles on 
             u.Vehicle equals v.ID 
            join c in db.Customers on 
            v.Charity equals c.ID 
            select new 
           { 
            status = u.Status, 
            make = v.Make, 
            model = v.Model, 
            Year = v.Year, 
            vin = v.VIN_, 
            charity = c.Name, 
            date = u.TimeStamp, 
            id = u.Vehicle, 
            salePrice = v.SalePrice, 
            bid = v.MinimumBid, 
            note=u.Note 
           }).OrderBy(z=>z.charity).ToList(); 

      RadGrid1.DataSource = unSoldVehicles; 



     } 

Was ist äußerst deprimierend ist, dass ... diese arbeitete. Ich muss etwas versehentlich geändert haben und bis ich realisierte, dass es alles war ... ugh

Ich wäre deeeeeeply dankbar für jede Einsicht!

Paul

Antwort

1
<telerik:RadComboBox RenderMode="Lightweight" runat="server" ID="updateComboBox" DataTextField="Status" DataValueField="ID" DataSourceID="LinqDataSource1" SelectedValue='<%#Bind("ID") %>' AutoPostBack="True"> 
</telerik:RadComboBox> 

Wahrscheinlich kommt das Problem von oben Code-Block. Was Sie möglicherweise tun können, ist in den Code hinter setzen, nachdem die DataBind-Methode auf RadComboBox Kontrolle aufgerufen wird. Ich hoffe es hilft.

protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e) 
{ 
    if (e.Item.IsInEditMode) 
    { 
     GridEditableItem editItem = (GridEditableItem)e.Item; 
     RadComboBox combo = (RadComboBox)editItem.FindControl("updateComboBox"); 
     combo.DataBind(); 
     combo.SelectedValue = DataBinder.Eval(editItem.DataItem,"ID").ToString(); 
    } 
} 
+0

Du bist mein Retter;) ich die Combobox im Bearbeitungsmodus bin mit so gewunden ich mit auf: protected void RadGrid1_ItemDataBound (object sender, GridItemEventArgs e) {if (e.Item.IsInEditMode) {GridEditableItem editItem = (GridEditableItem) e.Item; RadComboBox-Kombination = (RadComboBox) editItem.FindControl ("updateComboBox"); Combo.DataBind(); combo.SelectedValue = DataBinder.Eval (editItem.DataItem, "ID"). ToString(); }} Ich kann nicht beginnen, Ihnen zu sagen, wie dankbar ich bin ... Ich verbrachte den ganzen Tag gestern damit. Seltsam, dass es bis zum ... Vielen Dank! – PaulBinCT2

+0

Ich bin ein Rang noob hier, also wollte ich sicherstellen, dass ich dich getaggt habe, um dich wissen zu lassen, wie dankbar ich bin. Es ist erstaunlich für mich, dass so viele Leute mit so viel Sachkenntnis so großzügig ihre Zeit geben, Anfängern zu helfen! Ich bin ziemlich neu im Codieren (hat nicht einmal angefangen, bis meine fünfziger Jahre), aber ich habe einen tiefen Hintergrund in Elektronik, Konstruktion und Fotografie. Bitte lass mich wissen, ob ich jemals den Gefallen erwidern kann! Danke nochmal, du hast wirklich meinen Tag gemacht !!! – PaulBinCT2

+0

@ PaulBinCT2 Keine Sorgen überhaupt. Freut mich zu hören, dass es für dich funktioniert hat. Und vielen Dank für all die freundlichen Worte. Wir lernen jeden Tag etwas Neues, denn Technologien entwickeln sich nie weiter. Ich bin auch ein Anfänger in einigen anderen Bereichen, und ich habe so viele Hilfe von vielen anderen hier in SO. Für mich ist der beste Weg, den Gefallen zurückzugeben, derjenige, der Hilfe braucht, mit allem, was ich kann. Du hilfst mir, ich helfe dir, jeder hilft jedem. Das ist der SO-Geist, nicht wahr? – woodykiddy

Verwandte Themen