精华内容
下载资源
问答
  • 易语言源码把数据库读入超级列表框.rar
  • valueField: 基础数据值名称绑定到该下拉列表框。— 提交值 textField:基础数据字段名称绑定到该下拉列表框。—显示值 url:通过URL加载远程列表数据。 mode:定义了当文本改变时如何读取列表数据。设置为’remote...
  • 调用API编辑框直接修改超级列表框里面的内容,没有模块,纯源码!
  • 易语言超级列表框拖入快捷方式源码,超级列表框拖入快捷方式,读入数据,超级列表框初始化,运行程序
  • 易语言超级列表框与EXCEL的数据交互源码,超级列表框与EXCEL的数据交互,超级列表框保存为EXCEL,读入XLS至超级列表框
  • labview状态显示窗口专用,采用列表框可以动态的滚动显示信息,内含注解!
  • LABVIEW多列列表框图实时写入数据数据变多时为实时监测让滚轴自动下滑监视最后一行或将数据一直写入第一行
  • 列表框:只能选择数据 组合框:既能输入数据,又能选择“ 应用背景:在页面中有两个列表框,需要把其中一个列表框的元素移动到另一个列表框 。  实现的基本思想:  (1)编写init方法对两个列表框进行初始化;...
  • MFC列表框控件的动态编辑

    千次阅读 2019-09-10 13:14:41
    在我们进行mfc 编程时,我们需要用到列表框显示各层或各物体的参数设置,同时也希望能编辑其参数。我以前在网上查找,用了CComboListCtrl,这需要3个cpp 和 h 文件,用起来还不容易。 最近看到一个文章...

    在我们进行mfc 编程时,我们需要用到列表框显示各层或各物体的参数设置,同时也希望能编辑其参数。我以前在网上查找,用了CComboListCtrl,这需要3个cpp 和 h 文件,用起来还不容易。

    最近看到一个文章 https://blog.csdn.net/qingyang8513/article/details/50986455 ,这个直接用 listctrl 和 一个Edit 控件,很简单。所以我也测试一下,并记录在此。

    运行效果如下,点击一处列表框里内容即可编辑,但我剪辑图时剪辑不到编辑状态。

    我的运行环境是vc2010,下面开始讲解过程:

    重点内容:

          1)List Control控件NM_DCLICK消息响应事件;

          2)Edit Control的KillFocus消息响应;

          3)Edit Control的动态显示及隐藏;

          4)List Control获取指定行和列的编号,并获取指定行和列的内容及修改赋值。

    操作:

    1、创建基于对话框的MFC应用程序,删除原有的静态文本;

    2、添加一个List Control控件和一个Edit Control控件,并分别关联控制变量m_ListTem和m_EditTest(List Control控件适当调整大小,Edit Control大小不用调整);

    3、初始化对话框函数OnInitDialog中实现List Control控件和Edit Control控件的初始化,    InitList();    UpdateList();

    代码如下:

    BOOL CListCtrlTestDlg::OnInitDialog()
    {
    	CDialogEx::OnInitDialog();
    
    	// Set the icon for this dialog.  The framework does this automatically
    	//  when the application's main window is not a dialog
    	SetIcon(m_hIcon, TRUE);			// Set big icon
    	SetIcon(m_hIcon, FALSE);		// Set small icon
    
    	// TODO: Add extra initialization here
    	InitList();
    	UpdateList();
    
    	return TRUE;  // return TRUE  unless you set the focus to a control
    }
    
    void CListCtrlTestDlg::InitList(void)
    {
    	Clayer layer={"zhang",1.3,15.6,88};
    	m_layer.push_back(layer);
    	Clayer  layer1={"Li",22.3,25.6,288};
    	m_layer.push_back(layer1);
    	Clayer layer2={"Wang",32.33,35.6,388};
    	m_layer.push_back(layer2);
    
    	m_EditTest.ShowWindow(SW_HIDE);
    	CRect rect;
    	m_ListTem.GetClientRect(&rect);
    	int iLength = rect.Width();
    	m_ListTem.SetExtendedStyle(m_ListTem.GetExtendedStyle() | LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
    	m_ListTem.InsertColumn(0, _T("编号"), LVCFMT_CENTER, 40);
    	m_ListTem.InsertColumn(1, _T("名字"), LVCFMT_CENTER, 80);
    	m_ListTem.InsertColumn(2, _T("x"), LVCFMT_CENTER, (iLength - 120)/3);
    	m_ListTem.InsertColumn(3, _T("y"), LVCFMT_CENTER, (iLength - 120)/3);
    	m_ListTem.InsertColumn(4, _T("旋转角度"), LVCFMT_CENTER, (iLength - 120)/3);
    
    
    }
    
    void CListCtrlTestDlg::UpdateList(void)
    {
    
    	CString index,x,y,z,name,count,rotate,blocks;
    	while(m_ListTem.GetItemCount()>0)
    		m_ListTem.DeleteItem(0);
    	for(int i=0;i<m_layer.size();i++)
    	{
    	
    		index.Format("%d",i);
    		Clayer& layer=m_layer[i];
    		name=layer.name;
    		x.Format("%.2f",layer.x);
    		y.Format("%.2f",layer.y);
    		count.Format("%d",layer.count);
    
    
    		m_ListTem.InsertItem(i,index);
    
    		m_ListTem.SetItemText(i,1,name);
    		m_ListTem.SetItemText(i,2,x);
    		m_ListTem.SetItemText(i,3,y);
    		m_ListTem.SetItemText(i,4,count);
    	}
    }

    在h 文件中定义层参数结构,并定义层参数向量m_layer.

    typedef struct {CString name;float x;float y;int count;} Clayer;

    std::vector<Clayer> m_layer;

    有上面,上面代码才不报错。这里完成了初始显示,应该可以得到开头的效果,但不能编辑。

    动态编辑的核心

    4、对话框头文件中添加int型变量m_Row和m_Col,用于保存双击时选中的行和列号,并初始化为-1(未选中状态);

    5、为List Control控件添加NM_DBLCLK消息响应,并添加代码如下:

    void CListCtrlTestDlg::OnDblclkList2(NMHDR *pNMHDR, LRESULT *pResult)
    {
    	LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);
    	// TODO: Add your control notification handler code here
    		CRect rc;
    	CString strTemp;
    	NM_LISTVIEW *pNMListView = (NM_LISTVIEW *)pNMHDR;
    	m_Row = pNMListView->iItem;
    	m_Col = pNMListView->iSubItem;
     
    	if (pNMListView->iItem == -1)	//选择空白处
    		return;
     
    	if (m_Col != 0)	// 选择子项
    	{
    		m_ListTem.GetSubItemRect(m_Row, m_Col, LVIR_LABEL, rc);
    		m_EditTest.SetParent(&m_ListTem);
    		m_EditTest.MoveWindow(rc);
    		m_EditTest.SetWindowText(m_ListTem.GetItemText(m_Row, m_Col));
    		m_EditTest.ShowWindow(SW_SHOW);
    		m_EditTest.SetFocus();//设置Edit焦点
    		m_EditTest.ShowCaret();//显示光标
    		m_EditTest.SetSel(0, -1);//全选
    	}
    
    	*pResult = 0;
    }
    

     

    6、为Edit Control控件添加EN_KILLFOCUS消息响应,并添加代码如下:

    void CListCtrlTestDlg::OnKillfocusEdit1()
    {
    	// TODO: Add your control notification handler code here
    	CString str;
    	m_EditTest.GetWindowText(str);
    	m_ListTem.SetItemText(m_Row, m_Col, str);
        //这里其实应该保存编辑结果,简化了,实际程序要有改变参数
    	m_EditTest.ShowWindow(SW_HIDE);
    }

    现在可以编译运行并测试程序了,应该就是我们开头的结果。

    改进

    输入完数据后,一般希望回车,就生效,可实际情况是要离开才生效,有点操作不方便。

    编辑框怎么相应回车呢?

    类精灵CListCtrlTestDlg里转到 Virtual function,点击添加 PreTranslateMessage

    编辑PreTranslateMessage函数如下:

    BOOL CListCtrlTestDlg::PreTranslateMessage(MSG* pMsg)
    {
    	 if (WM_KEYDOWN ==pMsg->message && VK_RETURN == pMsg->wParam)
    	 {
    		 if (m_EditTest.IsWindowVisible())
    		{
    			m_EditTest.ShowWindow(SW_HIDE);
    			return TRUE;
    		}
    	 }
    	return CDialogEx::PreTranslateMessage(pMsg);
    }
    

    这段代码的含义是:在按下回车键时, 如果编辑框是可见的,就让编辑框不显示。编辑框不显示就触发EN_KILLFOCUS消息。达到回车就保存的目的。

     

     

    展开全文
  • 下拉列表框数据量过大解决方案

    千次阅读 2020-07-26 16:13:47
    我的解决方案是,每次从后端读取100条数据(当然你可以自己限定每次查询的条数),当用户在列表框输入数据进行筛选时,再通过模糊查询从后端查询100条数据,用户输的数据越精确,匹配度越高。下面是具体代码: 1、...

    当下拉列表,从后端获取列表数据,数据量上万条时,如果直接将查询的结果渲染到前端页面,效率是非常低的。我的解决方案是,每次从后端读取100条数据(当然你可以自己限定每次查询的条数),当用户在列表框输入数据进行筛选时,再通过模糊查询从后端查询100条数据,用户输的数据越精确,匹配度越高。下面是具体代码:

    1、如果前端代码用easyui实现:

    (1) html代码

    div中定义了一个input输入框以及span标签

    <div>
          <span class='title'>下拉框</span>
          <input id='options' />
    </div>

    (2)js代码

    发送ajax异步请求,加载下拉框数据,定义了param来传参数,初始化参数值为空,发送请求成功之后,通过eaysui将input输入框创建为下拉框。textField为下拉框文本字段,valueField为下拉框值字段,editable设置为true,使得下拉框可编辑,方便模糊查询从后台检索数据。然后设置了下拉框的宽度,以及下拉框面板的宽度。最后通过data属性,将从后台查询到的json数据集赋值到下拉框选项。后面是一个onChange事件,当我们在下拉框字段值改变的时候就会触发。

    其中:onChange:function(v,o)v表示下拉框新值,o表示下拉框旧值。因此我将新值赋值给iName作为发送请求的参数,也就是后台模糊查询的条件数据。当onChange事件触发时,就会再次发送带参数的ajax请求。然后通过 loadData 方法,将从后台模糊查询到的数据赋值给它,从而加载本地列表数据。

    param:{
             iName:''
      },
     that.ajaxDeal("/getOptions",that.param,function(result){
                            if (result.code !== 200) {
                                return;
                            }
                            $("#options").createCombobox({
                                textField: "iName",
                                valueField: "iName",
                                editable:true,
                                width: 190,
                                panelWidth:400,
                                data: result.data,
                                onChange:function (v,o) {
                                   that.param2.iName=v;
                                    that.ajaxDeal("/getOptions",that.param,function(result) {
                                        if (result.code !== 200) {
                                            return;
                                        }
                                        $("#options").combobox('loadData',result.data);
                                    });
                                }
                            });
                        },null,false,"post");

    2、如果前端代码用vue+elementui实现

    这是elementui实现的select选择器,filterable表示数据是否可搜索,filter-method表示搜索时触发的方法。

     <el-select v-model="listQuery.bondCode" filterable :filter-method="searchBondByName" title="证券名称" placeholder="证券名称" class="form-input-item" clearable >
            <el-option v-for="item in bondOptions" :key="item.oCode" :label="item.bName"
                       :value="item.oCode+'-'+item.bName+'-'+item.poolName+'-'+item.poolId">
            </el-option>
          </el-select>

      getList方法用来获取下拉框数据,query是请求参数,初始化调用时,query中的数据是为空的,但是当在下拉框中输入了数据,

      触发搜索方法searchBondByName时,会将输入框中的数据作为请求参数发送到后台。从而将请求返回的数据再赋值给下拉框      绑定的数据,就可以立即生效。

     methods: {
         getList: function() {
            let query=this.listQuery;
            getBondList(query).then(response => {
             this.bondOptions = response.data;
          }).catch(error => {
            this.$notify.error({ title: "获取下拉框数据列表",message: error,duration: 2000 });
          });
        },
         searchBondByName:function(inputKey){
          //inputKey为当前输入的数据
          this.listQuery.bondName = inputKey;
          let query  =this.listQuery;
          getBondList(query).then(response => {
            this.bondOptions = response.data;
          })
        },
    }

    3、后端代码sql语句

    控制层和服务层代码无异,主要在sql语句中加了一条限制查询行数的语句。然后因为'<'号跟xml 标签冲突,所以需要转义,

    还可以通过 ‘&lt’ 进行转义。        

     select t.o_code,t.b_name from tbnd t     
        <if test="i_Name != null and i_Name !='' ">
                where and t.B_NAME like CONCAT('%',CONCAT(#{query},'%'))
            </if>
                and ROWNUM <![CDATA[<=]]>100

     

    展开全文
  • labview技巧——多列列表框

    万次阅读 2019-02-26 22:03:56
    【多行列表框】可用于显示包含多个横向信息的数据列表本身支持鼠标选中行(默认为单行,可以右击更改其他),所以可以利用属性节点将当前选中行的数据提取出来方便处理,例如删除数据,导出当前行的信息等,可以...

    【多行列表框】可用于显示包含多个横向信息的数据,列表本身支持鼠标选中行(默认为单行,可以右击更改其他),所以可以利用属性节点将当前选中行的数据提取出来方便处理,例如删除数据,导出当前行的信息等,可以结合数据库读取作为数据显示控件。

    展开全文
  • Labview学习笔记2之 多列列表框 目标: 找出鼠标在列表框中选择的位置中的值 指令: 多列表框-属性节点-列首(获得包含列首的1维字符串数组) 多列表框-属性节点-行首(获得包含行首的1维字符串数组) 多列...

    Labview学习笔记2之 多列列表框

    目标:

    找出鼠标在列表框中选择的位置中的值

    指令:

    多列表框-属性节点-列首(获得包含列首的1维字符串数组)

    多列表框-属性节点-行首(获得包含行首的1维字符串数组)

    多列表框-属性节点-项名(获得除行首列首外所有列表框的2维字符串数组)

    代码:

     

     

    展开全文
  • LabVIEW(十六):多列列表框控件

    千次阅读 2018-09-25 08:51:00
    (6)、为了防止程序出现错误,可以加入一个顺序结构,多列列表框读入数据,然后自定义图标,最后再读取设置符号。   恭喜睇完笔记~学无止境,坚持为上! 转载于:...
  • VC++60 第十二章 列表框和组合框

    千次阅读 2016-10-13 17:49:48
    组合框是一个编辑框带一个可以下拉的列表框,用户在下拉框中选择的项会进入编辑框中,再进行后续处理,选择也可以用键盘的光标键。在编辑框中也可以直接输入。   本章要点 1 列表框的设计、项的添加和删除...
  • 本文列表框的操作依赖jquery插件。 HTML <form id="sel_form" action="post.php" method="post"> <p><input type="text" name="keys" id="keys" value="输入姓名或手机号码" onclick="this.value=''" /...
  • 文章目录列表创建维度和运算索引转化组合列表数据框创建索引基本数据框操作 列表 列表是一个向量,其每个元素的类型可以不同,可以是向量、矩阵或函数等。 创建 list函数用于创建列表,各元素之间使用逗号分隔。 ...
  • R语言入门——数据框列表

    千次阅读 2017-05-07 21:25:10
    由于不同的列可以包含不同模式(数值型、字符型等)的数据数据框的概念较矩阵来说更 为一般。它与你通常在SAS、SPSS和Stata中看到的数据集类似。数据框将是你在R中最常处理的 数据结构。 表2-1所示的病例数据集...
  • MFC 列表框使用技巧

    千次阅读 2016-02-05 08:15:23
    因工业项目中用到列表框的次数比较多,在这里总结一下 通过工具箱把列表框控件拖入对话框中,并为其添加控件变量m_listBox,然后看一下列表框的消息内容: ... LBN_KILLFOCUS :列表框失去输入焦点
  • 现在想通过一系列转换得到如下形式的数据框: 【Python实现】 操作之前,现将相关的包导入,如下: import numpy as np from pandas import DataFrame 1、首先是读取数据,方法如下: def load_data(file_...
  • MFC 下拉列表框的设置

    千次阅读 2019-11-06 10:33:27
    设置下拉列表框: 步骤1:打开VS2015,新建项目工程,选择模块下的Visual C++-->MFC-->MFC应用程序,设定好项目文件名和路径,点击确定。 步骤2:进入应用程序类 型界面。勾选“基于对话框”,在“MFC的...
  • 易语言组合保存列表项目数据源码: .版本 2 .支持库 spec .子程序 __启动窗口_创建完毕 置随机数种子 () .计次循环首 (10, ) 组合1.加入项目 (到文本 (取随机数 (111111111, 999999999)), ) .计次循环尾 ()...
  • 2,线程里面测试用超级列表框写入数据 比非线程慢很多 显示到列表框很慢 线程里面调用标签反馈 相当于 写入操作是在主线程/非线程里面进行的。 高级表格线程里面会崩溃 全部删除或者增加减少行 插入之类的操作会...
  • 笔者在对爬取的51job工作数据分析时,对学历要求进行绘图,遇到了爬取数据类型错误的例子 1.查看数据 import pandas as pd data=pd.read_csv('test_datasets_finally.csv',delimiter='#',header=0) df=pd.DataFrame...
  • 可以通过下面所介绍的三种方式为列表框获取数据。   第一种方法:使用RowSource属性 您能将列表框直接与工作表上的一个单元格区域相链接。在该区域中的数据变化将会引发列表框数据产生相应...
  • 列表框控件(listbox)消息

    千次阅读 2017-03-15 10:21:37
    列表框主要用于输入,它允许用户从所列出的表项中进行单项或多项选择,被选择的项呈高亮度显示.列表框具有边框,并且一般带有一个垂直滚动条.列表框分单选列表框和多重选择列表框两种.单选列表框一次只能选择一个...
  • void Ckongjian22Dlg::OnBnClickedOk() { CString text; //得到文本框对像 CEdit * edit=(CEdit*)GetDlgItem(IDC_EDIT1); edit->GetWindowText(text);... //将文本框添加到列表框中 CList...
  • LabVIEW多列列表框背景颜色操作

    万次阅读 2017-08-07 17:27:09
    多列列表框概述在很多情况下我们需要在表格中某一列查找一些指定的元素,并且想让其显示为指定的颜色,此时就可以利用多列列表框的一些属性来解决这一问题。
  • 主要为大家详细介绍了vue input输入框关键字筛选检索列表数据展示,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 应工作要求,我写了这个树形例程,树形中的数据从access数据库中读入,并将代码级数在6级内自由增减(不能超过6级,超过后,自动不能增加下级。),编号自动生成,不需要手工输入。代码位数根据参数自由设定...
  • 列表读取数据

    千次阅读 2018-01-30 09:43:33
    # 列表数据的读取和写入 # ---------------写入************ list_1 = ['张三','李四','王五'] # 1.打开文件 file_handle = open('student.txt', mode='w') # 2.写入数据 for name in list_1: file_handle.write...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 310,866
精华内容 124,346
关键字:

列表框可以输入数据吗