C#问题

wangderong8389945 2010-12-03 04:15:20
在textbox中输入产品编号!listbox显示含有此编号的,如:输入1,含有1的就显示出来!像百度一样,还有退货系统中,我在textbox输入产品编号1,数据库那边就显示产品1的所有信息,求大侠解决!!
...全文
170 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangderong8389945 2010-12-11
  • 打赏
  • 举报
回复
谢谢大家的踊跃 谢啦
小弟学到很多东西谢谢各位大侠
wangderong8389945 2010-12-11
  • 打赏
  • 举报
回复
我是一定会结贴的 不像其他人 不结贴
龍过鸡年 2010-12-07
  • 打赏
  • 举报
回复
// 这是利用 TextBox 的自动完成功能

AutoCompleteStringCollection acsc =
new AutoCompleteStringCollection();

acsc.AddRange(new string[] {
"1a", "1b", "1c", "1d", "2a", "2b", "3x"
});

this.textBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
this.textBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;
this.textBox1.AutoCompleteCustomSource = acsc;


还可以使用 BindingSource 控件的数据绑定

// 在窗体上加入 BindingSource 控件 bindingSource1
// 在 Form_Load 事件中加入代码

DataTable table = new DataTable();

table.Columns.AddRange(new DataColumn[] {
new DataColumn("ID", typeof(int)),
new DataColumn("Name", typeof(string)),
new DataColumn("Description", typeof(string)) });

for (int i = 0; i < 100; i++)
{
table.Rows.Add(new object[] {
i,
string.Format("Name {0}", i),
string.Format("Description {0}", i) });
}

System.Data.DataView view =
new System.Data.DataView(table);

this.listBox1.DataSource = view;
this.listBox1.DisplayMember = "Name"; // 显示 Name 列的数据

this.bindingSource1.DataSource = view;

// 在 textBox1_TextChanged 事件中加入代码
if (this.textBox1.Text != "")
{
this.bindingSource1.Filter =
string.Format("name like '%{0}%'", this.textBox1.Text);
}

wangderong8389945 2010-12-07
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 wangjiaxingshuai 的回复:]
like 关键字他还没学啊,用用个简单的
[/Quote]


这个我学啦!!但我们学的是C#
因为我们学校公司培训,结束后要做个项目!刚好遇到这个问题!!
yhnujm##33 2010-12-04
  • 打赏
  • 举报
回复
用textbox的autocompleted属性
peng2739956 2010-12-04
  • 打赏
  • 举报
回复
个人意见使用泛型Dictionary<k,v>对应 比较好点
wangjiaxingshuai 2010-12-04
  • 打赏
  • 举报
回复
like 关键字他还没学啊,用用个简单的
不要停止写文 2010-12-03
  • 打赏
  • 举报
回复
select * from tablename where 产品编号 like '%'+this.textbox.text+'%'
YaoZhengWu 2010-12-03
  • 打赏
  • 举报
回复
我ye是新手
wangderong8389945 2010-12-03
  • 打赏
  • 举报
回复
我是新手!!能不能讲清楚点!!
lvqiuchen 2010-12-03
  • 打赏
  • 举报
回复
你试说模糊查询?
用JQuery就可以
很简单.
<script src="jquery-1.4.4.min.js" type="text/javascript"></script>
<reference path="query-1.4.4.min.js" />
<title>jQuery模糊查询</title>
<script type="text/javascript">
$(function() {
$("#abc").keyup(function() {
$("table tbody tr")
.hide()
.filter(":contains('" + ($(this).val()) + "')")
.show();
}).keyup();
})
</script>
wangyu32 2010-12-03
  • 打赏
  • 举报
回复
select * from 表 where like '"this.textbox.text%"'
gohappy2008 2010-12-03
  • 打赏
  • 举报
回复
在textbox的textchange事件 进行查询 下面是sql查询语句:
select * from 表 where like this.textbox.text%
d221e331 2010-12-03
  • 打赏
  • 举报
回复
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Test
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Textbox1_textchanged(object sender, EventArgs e)
{
string constr= @"Data Source=192.168.1.101;User ID=sa;Password=hello;Initial Catalog=master";
string sqlstr = "select * from 产品资料 where 产品编号 like '" + this.TextBox1.Text.ToString().Trim() +"%'";
SqlConnection m_conn=new SqlConnection(constr);
SqlDataAdapter da = new SqlDataAdapter(strSQL, m_conn)
DataSet ds = new DataSet();
DataTable dt = new DataTable();
da.Fill(ds);
if (ds.Tables.Count > 0)
{
dt = ds.Tables[0];
}
if (dt.Rows.Count>0)
{
foreach (DataRow dr in dt.Rows)
{
ListBox1.Items.Add(dr[产品编号].ToString());
}
}
else
{
MessageBox.Show("error");
}
}
private void Form1_Load(object sender, EventArgs e)
{

}
}
}
hejialin666 2010-12-03
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 wangderong8389945 的回复:]
各位,我是楼主,刚刚那个先拿开吧!
这个呢?能解决么??退货系统中,我在textbox输入产品编号1,数据库那边就显示产品1的所有信息,求大侠解决!!
[/Quote]
就是在textbox的textchange事件里写吧!
hejialin666 2010-12-03
  • 打赏
  • 举报
回复
后台的SQL语句我就不说了,在textbox的textchange事件里可以捕捉到textbox内容变化。
至于和百度一样的那个在textbox下面显示的方法,就只能用自定义控件了,因为系统默认的控件里没有实现这个功能的。
自定义控件给你个思路
一个textbox
一个listdropdown(似乎叫这个名,忘了。反正就是那个多行的文本框,右面可以显示上下拉的条的那个控件)
找到匹配的信息就在里面逐行显示出来,没有匹配的信息就让下面的这个控件隐藏掉。
wangderong8389945 2010-12-03
  • 打赏
  • 举报
回复
各位,我是楼主,刚刚那个先拿开吧!
这个呢?能解决么??退货系统中,我在textbox输入产品编号1,数据库那边就显示产品1的所有信息,求大侠解决!!
wangderong8389945 2010-12-03
  • 打赏
  • 举报
回复
各位,我是楼主,刚刚那个先拿开吧!这个呢?能解决么??
还有退货系统中,我在textbox输入产品编号1,数据库那边就显示产品1的所有信息,求大侠解决!!
hongjiaoli 2010-12-03
  • 打赏
  • 举报
回复
楼主说的是 自动完成功能,类似智能匹配。可以参考 http://social.microsoft.com/Forums/es-ES/visualcshartzhchs/thread/f4609363-a9ee-4a59-8527-62297b47e674
wangderong8389945 2010-12-03
  • 打赏
  • 举报
回复
不会吧!!
加载更多回复(2)

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧