FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 2583|回复: 4
打印 上一主题 下一主题

表格可编辑行的问题

[复制链接]
跳转到指定楼层
楼主
发表于 2013-7-4 11:35:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
“/”应用程序中的服务器错误。
索引超出范围。必须为非负值并小于集合大小。
参数名: index
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.ArgumentOutOfRangeException: 索引超出范围。必须为非负值并小于集合大小。
参数名: index


第二次编辑的时候就会出这个错,第一次不会出错,是什么原因呢?
沙发
 楼主| 发表于 2013-7-4 15:30:37 | 只看该作者
贴源码出来
aspx页的
  1. <form id="form1" runat="server">
  2.         <x:PageManager ID="PageManager1" runat="server" AutoSizePanelID="Panel3" />
  3.         <x:Panel ID="Panel3" Title="" runat="server" AnchorValue="99% 99%"
  4.             BodyPadding="1px" ShowBorder="false" Layout="Fit" EnableBackgroundColor="false" ShowHeader="false">
  5.             <Toolbars>
  6.                 <x:Toolbar Width="1000px">
  7.                     <Items>
  8.                         <x:Button ID="but_saveGrid" Icon="SystemSave" Text="保存" runat="server" OnClick="but_saveGrid_Click">
  9.                         </x:Button>
  10.                     </Items>
  11.                 </x:Toolbar>
  12.             </Toolbars>
  13.             <Items>
  14.                 <x:Grid ID="Grid1" AutoHeight="false" runat="server" PageSize="12" Height="400px" DataKeyNames="id,tlang" AllowPaging="true" IsDatabasePaging="true" AnchorValue="98% 98%" Title="单词列表"  AllowCellEditing="true" ClicksToEdit="1">
  15.                     <Columns>
  16.                        
  17.                         <x:TemplateField Width="60px">
  18.                             <ItemTemplate>
  19.                                 <asp:Label ID="Label2" runat="server" Text='<%# Container.DataItemIndex + 1 %>'></asp:Label>
  20.                             </ItemTemplate>
  21.                         </x:TemplateField>
  22.                         <x:TemplateField Width="180px" HeaderText="源语言">
  23.                             <ItemTemplate>
  24.                                 <asp:Label ID="Label1" runat="server" Text='<%#Eval("slang") %>'></asp:Label>
  25.                             </ItemTemplate>
  26.                         </x:TemplateField>
  27.                      
  28.                         <x:RenderField Width="300px" ColumnID="tlagn" DataField="tlagn" FieldType="String" HeaderText="目标语言">
  29.                             <Editor>
  30.                                 <x:TextBox ID="tbxEditTlagn"  runat="server">
  31.                                 </x:TextBox>
  32.                             </Editor>
  33.                         </x:RenderField>

  34.                     </Columns>
  35.                     <PageItems>
  36.                         <x:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
  37.                         </x:ToolbarSeparator>
  38.                         <x:Button ID="ref" Icon="PageRefresh" runat="server" OnClick="ref_Click"></x:Button>
  39.                         <x:ToolbarSeparator ID="ToolbarSeparator2" runat="server">
  40.                         </x:ToolbarSeparator>
  41.                         <x:ToolbarText ID="ToolbarText1" runat="server" Text="每页记录数:">
  42.                         </x:ToolbarText>
  43.                         <x:DropDownList runat="server" ID="ddlPageSize" Width="80px" AutoPostBack="true" OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged">
  44.                             <x:ListItem Text="5" Value="5" />
  45.                             <x:ListItem Text="10" Value="10" />
  46.                             <x:ListItem Text="15" Value="15" Selected="true" />
  47.                             <x:ListItem Text="30" Value="30" />
  48.                             <x:ListItem Text="50" Value="50" />
  49.                             <x:ListItem Text="100" Value="100" />
  50.                             <x:ListItem Text="200" Value="200" />
  51.                         </x:DropDownList>
  52.                     </PageItems>
  53.                 </x:Grid>
  54.             </Items>
  55.         </x:Panel>
  56.         <x:Window ID="Window1" Title="翻译" Popup="false" EnableIFrame="true" runat="server"
  57.             CloseAction="HidePostBack" EnableConfirmOnClose="true" IFrameUrl="about:blank"
  58.             EnableMaximize="true" EnableResize="true" Target="Parent" IsModal="True" Width="350px" Height="100px">
  59.         </x:Window>
  60.         <x:Window ID="Window2" Title="问题列表" Popup="false" EnableIFrame="true" runat="server"
  61.             CloseAction="HidePostBack" EnableConfirmOnClose="true" IFrameUrl="about:blank"
  62.             EnableMaximize="true" EnableResize="true" Target="Parent" IsModal="false" Width="750px" Height="450px">
  63.         </x:Window>
  64.     </form>
复制代码
板凳
 楼主| 发表于 2013-7-4 15:35:12 | 只看该作者
后台代码,vb.net的
  1. Partial Class admin_Plugs_Dictionary
  2.     Inherits Page
  3.     Private recount As Long
  4.     Private PublicFunction As New PublicFunctioClass
  5.     Private ReadOnly KEY_FOR_DATASOURCE_SESSION As String = "datatable_for_grid_editor_cell"
  6.     Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
  7.    
  8.         If Not Page.IsPostBack Then


  9.             BindGrid()
  10.         End If
  11.     End Sub
  12.     Private Sub BindGrid()
  13.         ViewState("UseDataSource1") = True
  14.         Dim dt As Data.DataTable

  15.         dt = PublicFunction.getSQLTablePageIndex("1=1", Nothing, Grid1.PageIndex + 1, Grid1.PageSize, "Language_library", "id", "asc")
  16.         PublicFunction.getcount(Grid1.PageSize, "Language_library", "1=1", Nothing)
  17.         Grid1.RecordCount = PublicFunction.recountAll
  18.         Grid1.DataSource = dt
  19.         Grid1.DataBind()

  20.     End Sub




  21.     Protected Sub Grid1_PageIndexChange(sender As Object, e As GridPageEventArgs) Handles Grid1.PageIndexChange
  22.         Grid1.PageIndex = e.NewPageIndex
  23.         BindGrid()
  24.     End Sub

  25.   


  26.     Protected Sub ddlPageSize_SelectedIndexChanged(sender As Object, e As EventArgs)
  27.       
  28.         BindGrid()
  29.     End Sub







  30.     Protected Sub ref_Click(sender As Object, e As EventArgs)
  31.         BindGrid()
  32.     End Sub



  33.     Protected Sub but_saveGrid_Click(sender As Object, e As EventArgs)

  34.         BindGrid()
  35.       
  36.     End Sub
  37. End Class
复制代码
地板
发表于 2013-7-4 16:29:41 | 只看该作者
这个跟前台无关,
主要是后台绑定数据刷新后关键字变了
5#
发表于 2013-7-4 16:30:59 | 只看该作者
不能用变量赋值
如果一定要,则用:ViewState
如:ViewState["UpQtys"] = "1";
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2025-5-26 03:46 , Processed in 0.046398 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表