【问题标题】:jqGrid ASP .Net Permanent 'Add new row'jqGrid ASP .Net 永久“添加新行”
【发布时间】:2011-04-07 14:16:07
【问题描述】:

我一直在使用 jqGrid ASP .Net 并且对它非常满意,但我需要在网格顶部有一个永久空白的新行,它允许用户即时输入新行而不是使用添加行对话框.

通过查看 trirand 论坛,目前不支持“开箱即用”。

我看过这个论坛帖子http://www.trirand.net/forum/default.aspx?g=posts&t=212,但它不起作用(显示警报但没有其他反应)并且还要求用户单击“新建”按钮而不是新行始终位于网格顶部.

任何帮助将不胜感激, 干杯

附加信息: 我想要在用户输入每个新行的网格顶部有一个永久空白行,在该行下方将是已经输入的数据(在页面加载时从数据库加载)。随着新行的添加(当用户按 Enter 键时),该行将显示在网格中(我收集它还会触发 OnRowAdding 事件以便我插入到 sql 服务器中),并且永久的新行将清除其值准备新的条目。我还在使用内联编辑(工作正常)并将更改提交到 sql server 数据库。我通过将数据源设置为数据表并调用 DataBind() 来填充页面加载时的网格

【问题讨论】:

    标签: asp.net jquery jqgrid


    【解决方案1】:

    查看我为the answer 创建的this example。该示例适用于本地内联编辑,并在开始时用空数据填充网格。您可以对其进行修改并仅填写第一行空数据,而所有其他行都填写“真实”数据。

    另一种方式:您可以在第二个导航栏上的行上方放置“新建”按钮(参见Add toolbar in the bottom of the header using jqgrid,其中描述了如何执行此操作)。所以用户会立即看到它。您也可以放置custom button,而不是标准的“新建”按钮。这个自定义按钮(例如“+”)可以插入一个新行并进入内联编辑模式。

    如果这一切都不是你想要的,你应该在你的问题中包含更详细的信息,你使用哪种编辑(内联、单元格或表单),你保存数据的位置(本地,仅在服务器上或使用 @ 987654325@有一个混合数据持有)。

    【讨论】:

    • Oleg,您提供的第一个示例与我所追求的很接近。我在帖子中包含了更多信息,以便您更好地了解我想要实现的目标。我将尝试使用您提供的资源,看看我是怎么做的。如果您碰巧有任何提示或做过类似的事情,那么非常欢迎任何帮助:)
    【解决方案2】:

    当我按如下方式填充网格时,通过在数据表中插入一个新行来解决这个问题:

            DataRow dr = dtTimesheets.NewRow();
            dtTimesheets.Rows.InsertAt(dr, 0);
            grdTimesheet.DataSource = dtTimesheets;
            grdTimesheet.DataBind();
    

    然后在 RowEditing 方法上,我检查它是否实际上是新行并执行我的插入而不是编辑,然后重新加载网格,再次在网格顶部放置一个新的空行。

    【讨论】:

      猜你喜欢
      • 2015-04-23
      • 2016-03-30
      • 1970-01-01
      • 1970-01-01
      • 2018-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-08
      相关资源
      最近更新 更多