FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

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

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

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

grid里面模版列textbox加dropdownlist实现可编辑下拉框

[复制链接]
跳转到指定楼层
楼主
发表于 2013-1-23 09:44:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
模版列代码
<x:TemplateField Width="220px" HeaderText="费用项目">
<ItemTemplate>
<div style="position: relative;">
<span style="margin-left: 132px; width: 18px; overflow: hidden;">
<aspropDownList ID="ddlFyxm" runat="server" Style="width: 150px; margin-left: -132px" OnSelectedIndexChanged="ddlFyxm_SelectedIndexChanged"
AutoPostBack="True" >
</aspropDownList>
</span>
<asp:TextBox ID="txtFyxm" runat="server" Style="width: 126px; position: absolute;margin-top:2px;left: 0px;" AutoPostBack="True" Text='<%# Eval("fieldstr4") %>' ></asp:TextBox>
</div>
</ItemTemplate>

以下是服务器和客户端代码

protected void ddlFyxm_SelectedIndexChanged(object sender, EventArgs e)
{
PageContext.RegisterStartupScript("getDDLTextandValue();");
// Page.ClientScript.RegisterStartupScript(this.GetType(), "alert_hello", "getDDLTextandValue();", true);
}


<script language="javascript" type="text/javascript">
<!--
function getDDLTextandValue() {
var DDL = Ext.getCmp("ddlFyxm");
var index = DDL.selectedIndex;
var Text = DDL.options[index].text;
var Value = DDL.options[index].value;
alert(Value);
var txt = Ext.getCmp("txtFyxm");
txt.value = Value;
}
//-->
</script>

现在的问题是:如何才能将下拉框选值赋给文本框

求助三石大师



沙发
发表于 2013-1-23 10:18:06 | 只看该作者
这个只需要客户端脚本就行了,不需要
OnSelectedIndexChanged="ddlFyxm_SelectedIndexChanged"
AutoPostBack="True"

可以先尝试自己实现下...
板凳
 楼主| 发表于 2013-1-23 15:14:53 | 只看该作者
问题是客户端如何才能将下拉框选值赋给文本框,不知道如何查找grid当前编辑行模版列的文本框
地板
发表于 2013-1-24 12:57:34 | 只看该作者
我写了一个例子,并checkin到codeplex了,你可以下载源代码查看。

-增加同步下拉列表的选中值到文本输入框的例子(老皮鞋)。

关键的代码如下:
  1. <script type="text/javascript">
  2.         var gridClientID = '<%= Grid1.ClientID %>';

  3.         function registerSyncEvent() {
  4.             var grid = X(gridClientID);
  5.             grid.el.select('.x-grid-tpl select.gender').on("change", function (evt, el) {

  6.                 var row = Ext.get(el).parent('.x-grid3-row');
  7.                 row.query('input.gender')[0].value = el.value;

  8.             });

  9.         }

  10.         function onReady() {
  11.             var grid = X(gridClientID);

  12.             grid.on('viewready', function () {
  13.                 registerSyncEvent();
  14.             });
  15.         }

  16.         function onAjaxReady() {
  17.             registerSyncEvent();
  18.         }
  19.     </script>
复制代码
  1. <x:TemplateField Width="160px" HeaderText="性别">
  2.                 <ItemTemplate>
  3.                     <asp:TextBox runat="server" ID="tbxGender" CssClass="gender" Width="50px"></asp:TextBox>
  4.                     <asp:DropDownList runat="server" Width="50px" CssClass="gender" ID="ddlGender">
  5.                         <asp:ListItem Text="男" Value="男"></asp:ListItem>
  6.                         <asp:ListItem Text="女" Value="女"></asp:ListItem>
  7.                     </asp:DropDownList>
  8.                 </ItemTemplate>
  9.             </x:TemplateField>
复制代码

本帖子中包含更多资源

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

x
5#
 楼主| 发表于 2013-1-25 02:37:21 | 只看该作者
老大您源码grid_edit_dropdownlist_textbox可能漏传了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-10-1 12:09 , Processed in 0.046740 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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