Я уверен, что кто-то будет достаточно любезен, чтобы помочь мне с этим, пока у меня есть недостаток здравомыслия :(Telerik RadGrid вызывает исключение значения в режиме редактирования?
У меня есть radgrid, databound через запрос LINQ. Он отображается так, как должен, и я добавил кнопка детали, работает нормально, но когда я нажал на кнопку редактирования я получаю:. «JavaScript ошибка выполнения: Sys.WebForms.PageRequestManagerServerErrorException: Выбор из диапазона имя параметра: значение»
Я корпел над значениями I Получается, и я не вижу проблемы, явной или нет. Моя сетка следует (извините, это немного беспорядок):
<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>
Мой отделенного кода, в том случае, если имеет отношение это:
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;
}
Что совершенно удручает, что ... это работает. Я, должно быть, кое-что поменял, и к тому времени, когда я понял, что все это ... ugh
Я бы сказал, что буду благодарен за любую проницательность!
Пол
ты мой Спаситель;) Я использую выпадающий в режиме редактирования, так что я завелся с: защищаемого ничтожной RadGrid1_ItemDataBound (объект отправителя, GridItemEventArgs е) {если (e.Item.IsInEditMode) {GridEditableItem editItem = (GridEditableItem) e.Item; RadComboBox combo = (RadComboBox) editItem.FindControl ("updateComboBox"); combo.DataBind(); combo.SelectedValue = DataBinder.Eval (editItem.DataItem, «ID»). ToString(); }} Я не могу начать говорить вам, как я благодарен ... Вчера я провел весь день. Необычно, что это сработало до тех пор, пока ... Большое вам спасибо! – PaulBinCT2
Я ранг noob здесь, поэтому я хотел удостовериться, что я отметил вас, чтобы вы знали, насколько я глубоко благодарен. Для меня удивительно, что так много людей, обладающих таким большим опытом, так щедро проводят свое время, чтобы помочь новичкам! Я довольно новичок в кодировании (даже не начинал до пятидесятых), но у меня есть глубокий фон в электронике, строительстве и фотографии. Пожалуйста, дайте мне знать, если я когда-нибудь смогу вернуть благосклонность! Еще раз спасибо, ты действительно сделал мой день !!! – PaulBinCT2
@ PaulBinCT2 Не стоит беспокоиться. Рад слышать, что это сработало для вас. И спасибо за все добрые слова. Мы все каждый день учимся чему-то новому, потому что технологии никогда не перестают развиваться. Я также новичок в некоторых других областях, и у меня так много помощи от многих других здесь, в SO. Для меня лучший способ вернуть благосклонность - помочь тем, кто нуждается в помощи, чем я могу. Вы помогаете мне, я помогаю вам, все помогают всем. Это дух духа, не так ли :) – woodykiddy