精华内容
下载资源
问答
  • 页面表单还有很多控件,这一节介绍比较常用的列表框和单选框、多选框。列表框就是下拉列表选项,用在有多个选择的情况,比如一大堆的国家和城市可以做成一个下拉列表供用户选择。单选框用在只能选择一种选项的情况,...

    页面表单还有很多控件,这一节介绍比较常用的列表框和单选框、多选框。列表框就是下拉列表选项,用在有多个选择的情况,比如一大堆的国家和城市可以做成一个下拉列表供用户选择。单选框用在只能选择一种选项的情况,比如性别要么选男,要么选女。多选框即是可以多选,比如兴趣爱好可以选电脑,足球,象棋等多个。

    在上一节的基础上,再新建一个form3.jsp,表单设计如下:

     

    这个jsp保存在/WebContent/form3.jsp。显示如下:

     

    提交这个表单还需要增加两个参数,这里也给出需要更改的地方:

    1,Person.java需要增加两个属性gender和hobby,并要生成getter和setter方法。同时,还重新生成了toString方法。

    private String gender;

    private String hobby;

    public String getGender() {
    return gender;
    }

    public void setGender(String gender) {
    this.gender = gender;
    }

    public String getHobby() {
    return hobby;
    }

    public void setHobby(String hobby) {
    this.hobby = hobby;
    }

     

    @Override
    public String toString() {
    return "Person [id=" + id + ", nation=" + nation + ", gender=" + gender + ", hobby=" + hobby + ", information=" + information + "]";
    }

    2,PersonJdbcTemplateDaoImpl.java的addPerson和findPersonById方法要改成:

    public int add(Person person) throws Exception {

    int updatedRow = this.getJdbcTemplate().update("insert into new_table (id, nation, information, gender, hobby) values (?,?,?,?,?)", person.getId(), person.getNation(), person.getInformation(), person.getGender(), person.getHobby());

    return updatedRow;

    }

    public Person getPersonById(String id) throws Exception {

    Map personrMap = this.getJdbcTemplate().queryForMap("select * from new_table where id=? limit 1", id);

    Person person = new Person();

    person.setId((Integer) personrMap.get("id"));
    person.setNation((String) personrMap.get("nation"));
    person.setInformation((String) personrMap.get("information"));
    person.setGender((String) personrMap.get("gender"));
    person.setHobby((String) personrMap.get("hobby"));

    return person;

    }

    3, PersonController.java新增一个inputPerson的方法。

     

    	@RequestMapping(value = "/inputPerson", method = RequestMethod.POST)
    	public Object inputPerson(HttpServletRequest request, HttpServletResponse response, String id, String nation, String information, String hobby, String gender) {
    		try {
    
    			Person person = new Person();
    			person.setId(Integer.parseInt(id));
    			person.setNation(nation);
    			person.setInformation(information);
    
    			person.setGender(gender);
    			person.setHobby(hobby);
    			personService.addPerson(person);
    
    			Person personAdd = personService.findPerson(id);
    			request.setAttribute("person", personAdd);
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    		return "jsp/person.jsp";
    	}

     

    4,要修改new_table数据表,执行的sql语句为:

    ALTER TABLE `newdb`.`new_table` ADD COLUMN `gender` VARCHAR(4) NULL AFTER `information`, ADD COLUMN `hobby` VARCHAR(255) NULL AFTER `gender`;

     

    这样再重启下Tomcat服务器,访问路径http://localhost/calculateWeb/form3.jsp,输入表单的内容点击提交按钮,即可得到结果。

    <span font-size:medium;white-space:normal;"="" style="word-wrap: break-word; margin: 0px; padding: 0px;">person: Person [id=7, nation=null, gender=male, hobby=computer,football, information=This is a US person.]

     

    如果表单的项很多,那么PersonController.java的方法参数也会变得很多,这让方法变得很长也不好看。可以用下面的方法来修改一下:

    新增一个类PersonForm.java,包名为.form。

     

    public class PersonForm {
    
    	private String id;
    	private String nation;
    	private String information;
    	private String hobby;
    	private String gender;
    
    	public String getId() {
    		return id;
    	}
    
    	public void setId(String id) {
    		this.id = id;
    	}
    
    	public String getNation() {
    		return nation;
    	}
    
    	public void setNation(String nation) {
    		this.nation = nation;
    	}
    
    	public String getInformation() {
    		return information;
    	}
    
    	public void setInformation(String information) {
    		this.information = information;
    	}
    
    	public String getHobby() {
    		return hobby;
    	}
    
    	public void setHobby(String hobby) {
    		this.hobby = hobby;
    	}
    
    	public String getGender() {
    		return gender;
    	}
    
    	public void setGender(String gender) {
    		this.gender = gender;
    	}
    
    }

    同时修改PersonController.java的inputPerson方法。

     

     

     

    	@RequestMapping(value = "/inputPerson", method = RequestMethod.POST)
    	public Object inputPerson(HttpServletRequest request, HttpServletResponse response, PersonForm personForm) {
    		try {
    
    			Person person = new Person();
    			person.setId(Integer.parseInt(personForm.getId()));
    			person.setNation(personForm.getNation());
    			person.setInformation(personForm.getInformation());
    
    			person.setGender(personForm.getGender());
    			person.setHobby(personForm.getHobby());
    			personService.addPerson(person);
    
    			Person personAdd = personService.findPerson(personForm.getId());
    			request.setAttribute("person", personAdd);
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    		return "jsp/person.jsp";
    	}

     

     

    重启Tomcat服务器访问表单,同样可以接收和保存表单数据。也就是参数被SpringMVC封装成了PersonForm的对象,把这些参数取出来,就可以从这个参数对象中取出来了。

     

    配套进阶视频教程:

    https://edu.csdn.net/combo/detail/938

     

    Java中级SSH框架项目开发设计教程

    Java中级SSHæ¡æ¶é¡¹ç®å¼å设计æç¨

    Java视频教程

     

    展开全文
  • 一个DropDownList显示网站类型,另一个DropDownList显示具体网站,显示网站下拉列表框会根据显示网站类型下拉列表框中所选值不同而显示不同网站。FFF.ASPX,FFF.ASPX.CS 三、实验指导 略。
  • 4.4 下拉列表框的应用 实例 间接改变DropDownList当前选项 实例 实现多个DropDownList控件的联动 实例 动态添加、删除DropDownList控件选项 4.5 单选按钮应用 实例 性别选择 实例 网络考试系统中单选题答案选择 ...
  • C# 重构机房之控件属性杂记

    热门讨论 2018-08-04 20:10:58
    Simple 简单下拉列表框(始终显示列表)、 DropDown 可以编辑,与有下拉列表。默认. DropDownList 只有下拉列表,不能编辑。 2.设置combox下拉框内容 //将性别下拉框填入信息 ComSex.Items.A...

    1.怎么将combox设置为只读不可编辑

    将ComboBox的DropDownStyle 属性设置为 DropDownList即可.
    Simple 简单的下拉列表框(始终显示列表)、
    DropDown 可以编辑,与有下拉列表。默认.
    DropDownList 只有下拉列表,不能编辑。

    2.设置combox下拉框内容

    //将性别下拉框填入信息

    ComSex.Items.Add("男");
    ComSex.Items.Add("女");

    //将性别的第一行设置为默认值

    ComSex.SelectedIndex = 1;

    3.DataGridView

    //设置字体

    dataGridView1.Font = new Font("宋体", 11);  

    //调整行高

    dataGridView1.RowTemplate.Height = 30;
    dataGridView1.Update();

    //调整列宽

    dataGridView1.Columns[0].Width = 70;
    dataGridView1.Columns[1].Width = 360;

    //设置某一列居中

    dataGridView1.Columns[4].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;

    4.退出程序

    1、Application.Exit();//好像只在主线程可以起作用,而且当有线程,或是阻塞方法的情况下,很容易失灵。
    2、this.Close();//只是关闭当前窗体。
    3、Application.ExitThread();//退出当前线程上的消息循环,并关闭该线程上的所有窗口, 也会失灵。
    4、Environment.Exit(0); //前面三种方法都不能很好的退出程序,此方法可以完全退出程序,这个要强制得多。
    5、Process.GetCurrentProcess().Kill();//此方法完全奏效,绝对是完全退出。

    展开全文
  • 在修改数据时,像性别班级之类选择,只能从列表框中修改,不能自己输入,为了防止自己输入将combox控件的style属性变成2-dropdown list 这个就好像将combox控件变成了下拉式列表。不能输入,但是代码中需要在...

    背景:

    在修改数据时,像性别班级之类的选择,只能从列表框中修改,不能自己输入,为了防止自己输入将combox控件的style属性变成 2-dropdown list      这个就好像将combox控件变成了下拉式列表。不能输入,但是代码中需要在combox控件中显示文本,就好像下面这个代码

    Public Sub viewData()
        txtSID.Text = mrc.Fields(0)
        txtName.Text = mrc.Fields(1)
        comboSex.Text = mrc.Fields(2)
        DTPickerBorn.Value = mrc.Fields(3)
        comboClassno.Text = mrc.Fields(4)
        txtTel.Text = mrc.Fields(5)
        DTPickerRu.Value = Format(mrc.Fields(6), "YYYY-MM-DD")
        txtAddress.Text = mrc.Fields(7)
        txtComment.Text = mrc.Fields(8)
    
    End Sub
    

    这个时候就开始报错了

    这个时候由于我们需要在combox控件上显示数据,所以我们需要类似于文本框,因此我们把style的属性变成0-Dropdown combo,这样就可以更改了,但是我们又不能在修改时让他手动输入数据所以我们通过keypress事件来限制它的输入

    Private Sub comboCoursetype_KeyPress(KeyAscii As Integer)
        KeyAscii = 0
    End Sub
    

    通过添加这个就可以限制任意字符的输入

    展开全文
  • 接到任务后,首先想到时ExtTree控件,但Ext.Tree.Treepanel只能显示单列数据,也就是说无法显示 "性别"和"年龄"这两个字段。 到网上查了相关资料后发现Ext拓展TreeGrid是Table数,可以满...

    最近项目开发要求用树形列表显示多列数据,结构例如:

    研发部

    |--张三  男 25岁

    |--李四  女 25岁

    项目部

    |--王二 男 18岁

     

    接到任务后,首先想到的时Ext的Tree控件,但Ext.Tree.Treepanel只能显示单列数据,也就是说无法显示 "性别"和"年龄"这两个字段。

    到网上查了相关资料后发现Ext拓展的TreeGrid是Table数,可以满足自己的需求,但TreeGrid在用的时候遇到了一个棘手的问题:没有原生TreeNode的CheckBox功能。

    查了半天资料也到了比较完美的解决方案:

     

    一、解决方法:

      打开TreeGridNodeUI.js文件,将下面记为绿色的代码插入到相应位置,并保存文件。

     

      1  /*!
      2   * Ext JS Library 3.4
      3   * Copyright(c) 2006-2010 Sencha Inc.
      4   * licensing@sencha.com
      5   * http://www.sencha.com/license
      6   */
      7  /**
      8   * @class Ext.ux.tree.TreeGridNodeUI
      9   * @extends Ext.tree.TreeNodeUI
     10   */
     11  Ext.ux.tree.TreeGridNodeUI = Ext.extend(Ext.tree.TreeNodeUI, {
     12      isTreeGridNodeUI: true,
     13  
     14      renderElements : function(n, a, targetNode, bulkRender){
     15          var t = n.getOwnerTree(),
     16              cols = t.columns,
     17              c = cols[0],
     18              i, buf, len;
     19  
     20          this.indentMarkup = n.parentNode ? n.parentNode.ui.getChildIndent() : '';
     21  
     22      var cb = Ext.isBoolean(a.checked);
     23          buf = [
     24               '<tbody class="x-tree-node">',
     25                  '<tr ext:tree-node-id="', n.id ,'" class="x-tree-node-el x-tree-node-leaf ', a.cls, '">',
     26                      '<td class="x-treegrid-col">',
     27                          '<span class="x-tree-node-indent">', this.indentMarkup, "</span>",
     28                          '<img src="', this.emptyIcon, '" class="x-tree-ec-icon x-tree-elbow" />',
     29                          '<img src="', a.icon || this.emptyIcon, '" class="x-tree-node-icon', (a.icon ? " x-tree-node-inline-icon" : ""), (a.iconCls ? " "+a.iconCls : ""), '" unselectable="on" />',
     30              cb ? ('<input class="x-tree-node-cb" type="checkbox" ' + (a.checked ? 'checked="checked" />' : '/>')) : '',
     31                          '<a hidefocus="on" class="x-tree-node-anchor" href="', a.href ? a.href : '#', '" tabIndex="1" ',
     32                              a.hrefTarget ? ' target="'+a.hrefTarget+'"' : '', '>',
     33                          '<span unselectable="on">',
     34              (c.tpl ? c.tpl.apply(a) : a[c.dataIndex] || c.text),
     35              '</span></a>',
     36                      '</td>'
     37          ];
     38  
     39          for(i = 1, len = cols.length; i < len; i++){
     40              c = cols[i];
     41              buf.push(
     42                      '<td class="x-treegrid-col ', (c.cls ? c.cls : ''), '">',
     43                          '<div unselectable="on" class="x-treegrid-text"', (c.align ? ' style="text-align: ' + c.align + ';"' : ''), '>',
     44                              (c.tpl ? c.tpl.apply(a) : a[c.dataIndex]),
     45                          '</div>',
     46                      '</td>'
     47              );
     48          }
     49  
     50          buf.push(
     51              '</tr><tr class="x-tree-node-ct"><td colspan="', cols.length, '">',
     52              '<table class="x-treegrid-node-ct-table" cellpadding="0" cellspacing="0" style="table-layout: fixed; display: none; width: ', t.innerCt.getWidth() ,'px;"><colgroup>'
     53          );
     54          for(i = 0, len = cols.length; i<len; i++) {
     55              buf.push('<col style="width: ', (cols[i].hidden ? 0 : cols[i].width) ,'px;" />');
     56          }
     57          buf.push('</colgroup></table></td></tr></tbody>');
     58  
     59          if(bulkRender !== true && n.nextSibling && n.nextSibling.ui.getEl()){
     60              this.wrap = Ext.DomHelper.insertHtml("beforeBegin", n.nextSibling.ui.getEl(), buf.join(''));
     61          }else{
     62              this.wrap = Ext.DomHelper.insertHtml("beforeEnd", targetNode, buf.join(''));
     63          }
     64  
     65          this.elNode = this.wrap.childNodes[0];
     66          this.ctNode = this.wrap.childNodes[1].firstChild.firstChild;
     67          var cs = this.elNode.firstChild.childNodes;
     68  
     69          this.indentNode = cs[0];
     70          this.ecNode = cs[1];
     71          this.iconNode = cs[2];
     72  
     73      if (cb) {
     74       this.checkbox = cs[3];
     75        this.anchor = cs[4];
     76        this.textNode = cs[4].firstChild;
     77      } else {
     78        this.anchor = cs[3];
     79        this.textNode = cs[3].firstChild;
     80      }
     81      },
     82  
     83      // private
     84      animExpand : function(cb){
     85          this.ctNode.style.display = "";
     86          Ext.ux.tree.TreeGridNodeUI.superclass.animExpand.call(this, cb);
     87      }
     88  });
     89  
     90  Ext.ux.tree.TreeGridRootNodeUI = Ext.extend(Ext.tree.TreeNodeUI, {
     91      isTreeGridNodeUI: true,
     92  
     93      // private
     94      render : function(){
     95          if(!this.rendered){
     96              this.wrap = this.ctNode = this.node.ownerTree.innerCt.dom;
     97              this.node.expanded = true;
     98          }
     99  
    100          if(Ext.isWebKit) {
    101              // weird table-layout: fixed issue in webkit
    102              var ct = this.ctNode;
    103              ct.style.tableLayout = null;
    104              (function() {
    105                  ct.style.tableLayout = 'fixed';
    106              }).defer(1);
    107          }
    108      },
    109  
    110      destroy : function(){
    111          if(this.elNode){
    112              Ext.dd.Registry.unregister(this.elNode.id);
    113          }
    114          delete this.node;
    115      },
    116  
    117      collapse : Ext.emptyFn,
    118      expand : Ext.emptyFn
    119  });

    二、使用方法:

      PS:TreeGrid的CheckBox使用方法与Ext.Tree.Treepanel的CheckBox使用方法完全一样,包括数据生成和前台的方法、属性、事件。

      1、添加CheckBox(生成Json字符串时在Item中加入checked属性即可,注意区分大小写)

        例如:

    1     { [id:'1',text:'张三'],
    2 
    3      [id:'0',text:'张三',checked:true],
    4 
    5      [id:'1',text:'张三',checked:false] }

     

     

     

       以上我列出了三种情况:

       ①不使用CheckBox,不需要加"checked"属性,因为TreeNode认为,如果有checked属性就会在节点中自动增加CheckBox;

       ②使用CheckBox并默认为勾选状态,需要添加"checked"属性,并设置值为"false";

       ③使用CheckBox并默认为不勾选状态,需要添加"checked"属性,并设置值为"true";

      2、在js中获取CheckBox选中状态的值。

        直接调用TreeNode的atributes.checked方法即可。

        例如:

    1 TreeGrid.root.childNodes[0].attributes.checked

     

      3、在js中设置CheckBox状态为选中或取消选中。

           这里需要分两步

        ①设置CheckBox为选中或取消。

        ②设置checked属性:因为TreeNode不会自动设置TreeNode的TreeNode.attributes.checked属性。

         下面请看代码:第一行是设置Checkbox的选中状态

                  第二行是设置checked属性。

    1 TreeGrid.root.childNodes[0].getUI().checkbox.checked = true;
    2 TreeGrid.root.childNodes[0].attributes.checked=true;

     

    这是第一次写博客,排版不是很专业,请大家包涵一下,还在加班中,要发布程序了,就到此结束吧。。。有问题可以跟帖,我回答复。

    下次会写关于Ext TreeGrid 左右相互拖拽(拖动)货单相拖拽的相关操作文章。

    下面是带CheckBox的TreeGrid文件包,大家可以下载了直接用。

     http://files.cnblogs.com/yon2068/TreeGridCheckBox.zip

      

     

    转载于:https://www.cnblogs.com/yon2068/archive/2012/07/03/2575375.html

    展开全文
  • javascript不仅可以取得文本的输入...如性别的选择。复选也是可以通过循环的方式取出每一个被选中的内容,选择个人兴趣(多选) js操作单选按钮跟复选  function show(){  var sex;  if(document.myf
  • DataGridView单元格输入中文乱码,RichTextBox可以正常输入中文,我思路就是RichTextBox覆盖单元格,然后把RichTextBox值传给单元格 1.新建两个控件 ...绑定性别下拉列表框 /// <summary>
  • 17.自定义表单,支持用户自定义表单布局,支持单表,一对多表单、支持select、radio、checkbox、textarea、date、popup、列表、宏等控件 18.专业接口对接机制,统一采用restful接口方式,集成swagger-ui在线接口文档...
  • 表单基本使用

    千次阅读 2012-12-09 22:12:37
    单选,多选,文本域,文件上传控件 表单元素 你最喜欢哪个城市: 北京 上海 伦敦 您的性别: 男 女 隐藏域使用 下拉列表 请选择您出生地: 四川 北京 西藏 上传文件 ★ 审核状态...
  • /*自己设计并编写一个 Windows 应用程序,要求用到  * TextBox 文本框 显示简历内容 ... * ListBox 列表框  * 控件。  * 将程序功能、界面布局和运行结果截图与事件代码写在实验报告中。 */ 代码
  • 0、【创建追加查询-选择对应字段-选择简历字段,条件行输入:notlike"*书法*"-运行-保存命名】1、440301:将窗体"fEmp"上文本框"tSS"改为组合类型,保持控件名称不变。设置其相关属性实现下拉列表形式输入性别"男...
  • ●前台来源列表页面, 显示了多余的性别属性。 ●专题搜索表单没有列出相应专题列表导致JS错误问题。 专业版: ●问答管理移动问题页面点击“取消”不能返回上一页。 ●问答积分管理中管理分类不完整。 ...
  • 7.5 列表框控件 实例317 禁止列表框信息重复 实例318 在两个列表框间实现数据交换 实例319 上下移动列表项位置 实例320 实现标签式选择 实例321 要提示才能看得见 实例322 水平方向延伸 实例323 为列表...
  • 7.5 列表框控件 实例317 禁止列表框信息重复 实例318 在两个列表框间实现数据交换 实例319 上下移动列表项位置 实例320 实现标签式选择 实例321 要提示才能看得见 实例322 水平方向延伸 实例323 为列表...
  • Desktop.rar

    2019-08-24 11:13:48
    5. 列表输出应聘人员信息对话框类CcjhzDlg,系统自动生成框架,根据控件的作用进行编辑; 6. 录取通知书输出对话框CTzsDlg,系统自动生成框架,根据控件的作用进行编辑; 7. 关于对话框类CaboutDlg,系统自动生成...
  • 录像机管理、摄像机管理,可添加删除修改导入导出打印信息,立即应用新设备信息生成树状列表,不需重启。 在pro文件中可以自由开启是否加载地图。 视频播放可选2种内核自由切换,vlc+ffmpeg,均可在pro中设置。 可...
  • 物业管理系统

    2006-02-23 09:05:59
    *将ImageList控件图片赋予Listview控件 this.listview1.Icons=this.imagelist1.objectthis.listview1.smallicons=this.imagelist1.object&&添加列表项key=‘小区信息生成‘=this.listview1.listitems.add(,...
  • Javashop开发规范V2.2

    2012-08-21 00:13:09
    自定义校验函数,返回真则通过校验,返回假或字串则校验失败,返回字串会出现在失败提示中。 5.3.2.4 动态绑定校验函数 通过 setValidator实现 $("#region_id").setValidator(function(){ var value = $("#...

空空如也

空空如也

1
收藏数 20
精华内容 8
关键字:

性别的列表框控件