首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更新Telerik Rad Grid?

更新Telerik Rad Grid?
EN

Stack Overflow用户
提问于 2019-03-14 02:43:13
回答 1查看 161关注 0票数 0

因此,我有一个自动生成的RadGrid,通过LINQ填充。更新命令不执行任何操作。取消工作,但当我点击编辑,编辑列打开,但更改不是“生效”。我做错了什么?同一页面上的其他RadGrids似乎工作得很好。

这是网格:

代码语言:javascript
复制
  <telerik:RadGrid ID="DailyHoursGrid" runat="server" 
                    AutoGenerateEditColumn="True" CellSpacing="0" DataSourceID="LinqDataSource3" 
                    GridLines="None">                       
                    <ClientSettings>
                        <Selecting CellSelectionMode="None" />
                    </ClientSettings>
                    <MasterTableView AutoGenerateColumns="False" DataSourceID="LinqDataSource3">
                        <CommandItemSettings ExportToPdfText="Export to PDF" />
                        <RowIndicatorColumn FilterControlAltText="Filter RowIndicator column" 
                            Visible="True">
                            <HeaderStyle Width="20px" />
                        </RowIndicatorColumn>
                        <ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column" 
                            Visible="True">
                            <HeaderStyle Width="20px" />
                        </ExpandCollapseColumn>
                        <Columns>
                            <telerik:GridBoundColumn DataField="Employee" DataType="System.Int32" 
                                FilterControlAltText="Filter Employee column" HeaderText="Employee" 
                                ReadOnly="True" SortExpression="Employee" UniqueName="Employee">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn DataField="EventType" 
                                FilterControlAltText="Filter EventType column" HeaderText="EventType" 
                                ReadOnly="True" SortExpression="EventType" UniqueName="EventType">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn DataField="Time" DataType="System.DateTime" 
                                FilterControlAltText="Filter Time column" HeaderText="Time" ReadOnly="False" 
                                SortExpression="Time" UniqueName="Time">
                            </telerik:GridBoundColumn>
                        </Columns>
                        <EditFormSettings>
                            <EditColumn FilterControlAltText="Filter EditCommandColumn column">
                            </EditColumn>
                        </EditFormSettings>
                    </MasterTableView>
                    <FilterMenu EnableImageSprites="False">
                    </FilterMenu>

                </telerik:RadGrid>

和LINQ:

代码语言:javascript
复制
  <asp:LinqDataSource ID="LinqDataSource3" runat="server" 
                    ContextTypeName="TimeClock.TimeClockEntities2" EntityTypeName="" OrderBy="Time" 
                    Select="new (Employee, EventType, Time)" TableName="Events" 


                    Where="Time &gt;= @Time &amp;&amp; Time &lt;= @Time1 &amp;&amp; Employee == @Employee" 
                    EnableUpdate="True" EnableInsert="True">
                    <WhereParameters>
                        <asp:ControlParameter ControlID="StartDatePicker" DefaultValue="0:00" Name="Time" 
                            PropertyName="SelectedDate" Type="DateTime" />
                        <asp:ControlParameter ControlID="EndDatePicker" DefaultValue="0:00" Name="Time1" 
                            PropertyName="SelectedDate" Type="DateTime" />
                        <asp:ControlParameter ControlID="HourlyReportEmployeeCombo" DefaultValue="0" 
                            Name="Employee" PropertyName="SelectedValue" Type="Int32" />
                    </WhereParameters>
                </asp:LinqDataSource>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-15 21:34:40

RadGrid提供了两种类型的CRUD操作:AutomaticManual

对于Automatic,您可以分别针对它们自己的操作启用这些网格属性:AllowAutomaticUpdates, AllowAutomaticInserts, AllowAutomaticDeletes

另一个要求是LinqDataSource应该包含相应的参数,以允许网格识别将传递给数据库的值:

代码语言:javascript
复制
<asp:LinqDataSource ID="LinqDataSource1" runat="server">
  <UpdateParameters>
    ...
  </UpdateParameters>
</asp:LinqDataSource>

您可以在本文的第一个代码片段中找到一个有用的类似SqlDataSource示例:Automatic DataSource Operations

对于更多的控制,复杂的情况或StoredProcedures,最好使用手动CRUD操作,利用网格提供的更新/插入/删除命令或ItemCommand事件处理程序。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55149188

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档