FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

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

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

搜索
查看: 5606|回复: 8
打印 上一主题 下一主题

(专业版2.3.0)求助:Grid表格右键菜单批量赋值模板列?

[复制链接]
跳转到指定楼层
楼主
发表于 2015-3-29 22:57:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 Mr.Wu 于 2015-3-29 22:58 编辑

需求:在Grid右键点单菜单-》本页全填A,如何将本页的信息技术成绩全部填入A,而不用一个个手工输入?

右键菜单源码:
  1. <f:Menu ID="Menu1" runat="server">
  2.                     <f:MenuButton ID="SetAllRows_A" EnablePostBack="false" runat="server" Text="本页全填A">
  3.                         <Listeners>
  4.                             <f:Listener Event="click" Handler="onSetAllRows_A" />
  5.                         </Listeners>
  6.                     </f:MenuButton>
  7.                 </f:Menu>
复制代码
信息技术列源码:
  1.                         <f:TemplateField ColumnID="xinxi" HeaderText="信息技术"  TextAlign="center" HeaderTextAlign="center">
  2.                             <ItemTemplate>
  3.                                 <asp:TextBox runat="server" Width="100px" ID="tbXinxi" CssClass="xinxi" Required="true" Text='<%#Eval("xinxi") %>'></asp:TextBox>
  4.                             </ItemTemplate>
  5.                         </f:TemplateField>
复制代码
希望能得到大家的指点,谢谢。

附:本人测试时想按这个方法,发现没有执行相关代码:
        function onSetAllRows_A() {
            F(gridClientID).el.find('.f-grid-row .f-grid-tpl text.xinxi').each(function () {
                alert("hi");
            });
        }

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
沙发
 楼主| 发表于 2015-3-30 00:13:45 | 只看该作者
这样貌似可以,不知大家有没有更好的办法?
  1.         function onSetAllRows_A() {
  2.             F(gridClientID).el.find('.f-grid-tpl input.xinxi').each(function () {
  3.                 $(this).val("A");
  4.             });
  5.         }
复制代码
板凳
发表于 2015-3-30 10:47:15 | 只看该作者
Mr.Wu 发表于 2015-3-30 00:13
这样貌似可以,不知大家有没有更好的办法?

这样就行了
地板
 楼主| 发表于 2015-3-30 11:12:00 | 只看该作者


请问一下老大:如果不是使用模板列,而是直接使用Grid编辑功能,如下面这样:
  1. <f:RenderField Width="100px" ColumnID="chengji" DataField="Name" FieldType="String"
  2.                     HeaderText="成绩">
  3.                     <Editor>
  4.                         <f:TextBox ID="tbxEditorChengji" Required="true" runat="server">
  5.                         </f:TextBox>
  6.                     </Editor>
  7.                 </f:RenderField>
复制代码
要怎样修改模板列那个each函数内容,才能达到批量赋值的效果呢?
请指点一下,谢谢了。
5#
发表于 2015-3-30 11:55:35 | 只看该作者
参考示例:http://fineui.com/demo_pro/#/dem ... r_cell_dynamic.aspx
用 updateCellValue 来更新单元格的值
6#
 楼主| 发表于 2015-3-30 13:08:31 | 只看该作者
本帖最后由 Mr.Wu 于 2015-3-30 13:09 编辑

老大,你这个例子是后台动态生成列,并且是横向赋值。
我想要的是纵向对Grid中某列全部行赋同样的一个值,好像你的例子不太一样吧
7#
发表于 2015-3-30 15:30:38 | 只看该作者
Mr.Wu 发表于 2015-3-30 13:08
老大,你这个例子是后台动态生成列,并且是横向赋值。
我想要的是纵向对Grid中某列全部行赋同样的一个值, ...

参考示例:http://fineui.com/demo_pro/defau ... setcolumnvalue.aspx
8#
发表于 2015-3-31 15:13:41 | 只看该作者
函数
function onUpdateAtSchoolFalseClick()
  {
            resolveRows('AtSchool', false);  
   }

已经内置了吗? 看不到定义的地方?
9#
 楼主| 发表于 2015-3-31 15:27:56 | 只看该作者
舞柯庶 发表于 2015-3-31 15:13
函数
function onUpdateAtSchoolFalseClick()
  {

有定义啊,就在js里面:
  1. function resolveRows(columnId, newValue) {
  2.             var grid = F(gridClientID);
  3.             grid.getRowEls().each(function () {
  4.                 grid.updateCellValue(this, columnId, newValue);
  5.             });
  6.         }
复制代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-5-2 04:35 , Processed in 0.051184 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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