使用据库Sql2000下的Pubs中的表Jobs.
做一个窗体,有一个DataGrid显示Jobs中Job_id,Job_Desc,Max_lvl三列所有的信息,一个文本框,要求实现在文本框中输入一个值,过滤Jobs中的Min_lvl字段为相同的记录在DataGrid中显示.
如输入 75,DataGrid中只有Min_lvl=75的记录显示.
注意Min_lvl不在DataGrid中显示.
做一个窗体,有一个DataGrid显示Jobs中Job_id,Job_Desc,Max_lvl三列所有的信息,一个文本框,要求实现在文本框中输入一个值,过滤Jobs中的Min_lvl字段为相同的记录在DataGrid中显示.
如输入 75,DataGrid中只有Min_lvl=75的记录显示.
注意Min_lvl不在DataGrid中显示.
"select Job_id,Job_Desc,Max_lvl" +
" from jobs"
" where min_lvl = " + this.text1.Text
{
private SqlDataAdapter sqlDA = null;
private SqlConnection sqlCn = null;
private string strCn = "Data Source=(local);Initial Catalog=pubs;"
+ "Integrated Security=SSPI;";
private string strSql = "select Job_id,Job_Desc,Max_lvl from jobs";
public Form18()
{
InitializeComponent();
sqlCn = new SqlConnection(strCn);
} private void Form18_Load(object sender, EventArgs e)
{
sqlDA = new SqlDataAdapter(strSql, sqlCn);
DataTable dt = new DataTable();
sqlDA.Fill(dt);
dataGridView1.DataSource = dt;
} private void textBox1_TextChanged(object sender, EventArgs e)
{
string strFilter = " where min_lvl = " + this.textBox1.Text.Trim(); try
{
if (textBox1.Text!="")
strSql = "select Job_id,Job_Desc,Max_lvl from jobs" + strFilter;
else
strSql = "select Job_id,Job_Desc,Max_lvl from jobs";
sqlDA = new SqlDataAdapter(strSql, sqlCn);
DataTable dt = new DataTable();
sqlDA.Fill(dt);
dataGridView1.DataSource = dt;
dataGridView1.Refresh();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
再根据textbox的事件.过滤掉dataset 的不相关的记录.再次绑定即可
dataview.filter属性
sdl2005lyx() ( ) 信誉:
有一点大家注意,DataSet是断开式数据集,要在客户端完成数据检索,现在我用的也是能数据库重新获取,这个表的数据时效性不高,不必总是到数据库查吧。只想在客户端过滤。woyaomoney(高级伴读书童)
你的法方要试试,还有一点就是当文本框中为空时,想要再显示所有的数据怎么实现?
dataset.Tables["job"].DefaultView.RowFilter = "min_lvl=" + text1.Text.Trim();
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;namespace DataFilter
{
/// <summary>
/// Form1 的摘要说明。
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.DataGrid dataGrid1;
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.Button button1;
private System.Data.SqlClient.SqlDataAdapter sqlDataAdapter1;
private System.Data.SqlClient.SqlCommand sqlSelectCommand1;
private System.Data.SqlClient.SqlConnection sqlConnection1;
private DataFilter.DataSet1 dataSet11;
private System.Windows.Forms.DataGridTableStyle dataGridTableStyle1;
private System.Windows.Forms.DataGridTextBoxColumn dataGridTextBoxColumn1;
private System.Windows.Forms.DataGridTextBoxColumn dataGridTextBoxColumn2;
private System.Windows.Forms.DataGridTextBoxColumn dataGridTextBoxColumn3;
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.Container components = null; public Form1()
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent(); //
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
} /// <summary>
/// 清理所有正在使用的资源。
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
} #region Windows 窗体设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.dataGrid1 = new System.Windows.Forms.DataGrid();
this.textBox1 = new System.Windows.Forms.TextBox();
this.button1 = new System.Windows.Forms.Button();
this.sqlDataAdapter1 = new System.Data.SqlClient.SqlDataAdapter();
this.sqlSelectCommand1 = new System.Data.SqlClient.SqlCommand();
this.sqlConnection1 = new System.Data.SqlClient.SqlConnection();
this.dataSet11 = new DataFilter.DataSet1();
this.dataGridTableStyle1 = new System.Windows.Forms.DataGridTableStyle();
this.dataGridTextBoxColumn1 = new System.Windows.Forms.DataGridTextBoxColumn();
this.dataGridTextBoxColumn2 = new System.Windows.Forms.DataGridTextBoxColumn();
this.dataGridTextBoxColumn3 = new System.Windows.Forms.DataGridTextBoxColumn();
((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dataSet11)).BeginInit();
this.SuspendLayout();
//
// dataGrid1
//
this.dataGrid1.DataMember = "jobs";
this.dataGrid1.DataSource = this.dataSet11;
this.dataGrid1.HeaderForeColor = System.Drawing.SystemColors.ControlText;
this.dataGrid1.Location = new System.Drawing.Point(16, 24);
this.dataGrid1.Name = "dataGrid1";
this.dataGrid1.Size = new System.Drawing.Size(440, 208);
this.dataGrid1.TabIndex = 0;
this.dataGrid1.TableStyles.AddRange(new System.Windows.Forms.DataGridTableStyle[] {
this.dataGridTableStyle1});
//
// textBox1
//
this.textBox1.Location = new System.Drawing.Point(120, 272);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(160, 21);
this.textBox1.TabIndex = 1;
this.textBox1.Text = "";
//
// button1
//
this.button1.Location = new System.Drawing.Point(336, 272);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(112, 24);
this.button1.TabIndex = 2;
this.button1.Text = "button1";
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// sqlDataAdapter1
//
this.sqlDataAdapter1.SelectCommand = this.sqlSelectCommand1;
this.sqlDataAdapter1.TableMappings.AddRange(new System.Data.Common.DataTableMapping[] {
new System.Data.Common.DataTableMapping("Table", "jobs", new System.Data.Common.DataColumnMapping[] {
new System.Data.Common.DataColumnMapping("job_id", "job_id"),
new System.Data.Common.DataColumnMapping("job_desc", "job_desc"),
new System.Data.Common.DataColumnMapping("min_lvl", "min_lvl"),
new System.Data.Common.DataColumnMapping("max_lvl", "max_lvl")})});
//
// sqlSelectCommand1
//
this.sqlSelectCommand1.CommandText = "SELECT job_id, job_desc, min_lvl, max_lvl FROM jobs";
this.sqlSelectCommand1.Connection = this.sqlConnection1;
//
// sqlConnection1
//
this.sqlConnection1.ConnectionString = "workstation id=SHOUAO;packet size=4096;integrated security=SSPI;data source=local" +
"host;persist security info=False;initial catalog=pubs";
//
// dataSet11
//
this.dataSet11.DataSetName = "DataSet1";
this.dataSet11.Locale = new System.Globalization.CultureInfo("zh-CN");
//
// dataGridTableStyle1
//
this.dataGridTableStyle1.DataGrid = this.dataGrid1;
this.dataGridTableStyle1.GridColumnStyles.AddRange(new System.Windows.Forms.DataGridColumnStyle[] {
this.dataGridTextBoxColumn1,
this.dataGridTextBoxColumn2,
this.dataGridTextBoxColumn3});
this.dataGridTableStyle1.HeaderForeColor = System.Drawing.SystemColors.ControlText;
this.dataGridTableStyle1.MappingName = "jobs";
//
// dataGridTextBoxColumn1
//
this.dataGridTextBoxColumn1.Format = "";
this.dataGridTextBoxColumn1.FormatInfo = null;
this.dataGridTextBoxColumn1.HeaderText = "纺中";
this.dataGridTextBoxColumn1.MappingName = "job_id";
this.dataGridTextBoxColumn1.Width = 75;
//
// dataGridTextBoxColumn2
//
this.dataGridTextBoxColumn2.Format = "";
this.dataGridTextBoxColumn2.FormatInfo = null;
this.dataGridTextBoxColumn2.HeaderText = "名字";
this.dataGridTextBoxColumn2.MappingName = "job_desc";
this.dataGridTextBoxColumn2.Width = 75;
//
// dataGridTextBoxColumn3
//
this.dataGridTextBoxColumn3.Format = "";
this.dataGridTextBoxColumn3.FormatInfo = null;
this.dataGridTextBoxColumn3.HeaderText = "最大";
this.dataGridTextBoxColumn3.MappingName = "max_lvl";
this.dataGridTextBoxColumn3.Width = 75;
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
this.ClientSize = new System.Drawing.Size(496, 373);
this.Controls.Add(this.button1);
this.Controls.Add(this.textBox1);
this.Controls.Add(this.dataGrid1);
this.Name = "Form1";
this.Text = "Form1";
this.Load += new System.EventHandler(this.Form1_Load);
((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dataSet11)).EndInit();
this.ResumeLayout(false); }
#endregion /// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new Form1());
} private void Form1_Load(object sender, System.EventArgs e)
{
this.sqlDataAdapter1.Fill(this.dataSet11,"jobs");
} private void button1_Click(object sender, System.EventArgs e)
{
this.dataSet11.jobs.DefaultView.RowFilter="min_lvl="+textBox1.Text.Trim();
}
}
}
我做了这个窗体,功能实现不了啊!哪位高人帮忙看看
{
// 在此处放置用户代码以初始化页面
SqlConnection myConnection=new SqlConnection();
string strConn="server=Localhost;uid=sa;pwd=000000;database=Northwind";
myConnection.ConnectionString=strConn;
//创建SqlDataAdapter
SqlDataAdapter myCommand=new SqlDataAdapter("select * from Categories",myConnection);
DataSet ds=new DataSet();//创建DataSet实例
myCommand.Fill(ds,"作者");
myDataGrid.DataSource=ds.Tables["作者"].DefaultView;
myDataGrid.DataBind();
}