当然我打开.xls文件,在文本框中输入文件位置,我想通过在文本框中输入来搜索某个值并删除值所在的行。
以下是Form1的代码,其中包含dataGridView:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.OleDb;
namespace Plan_de_lucru_1._0
{
public partial class frPlanMain : Form
{
public frPlanMain()
{
InitializeComponent();
}
private void frPlanMain_Load(object sender, EventArgs e)
{
}
private void GoButton_Click(object sender, EventArgs e)
{
string constr = "Provider = MicroSoft.Jet.OLEDB.4.0; Data Source=" + locTBox.Text + "; Extended Properties =\"Excel 8.0; HDR=Yes;\";";
OleDbConnection con = new OleDbConnection(constr);
OleDbDataAdapter sda = new OleDbDataAdapter("Select * From [" + shTBox.Text + "$]", con);
DataTable dt = new DataTable();
sda.Fill(dt);
dGVPlan.DataSource = dt;
new SearchWindow().Show();
this.Show();
}
}
}
这是包含textBox和按钮的Form2,我想在其中输入搜索值。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Plan_de_lucru_1._0
{
public partial class SearchWindow : Form
{
public SearchWindow()
{
InitializeComponent();
}
private void SearchButtonW_Click(object sender, EventArgs e)
{
String str = "select * from searchBox where ( Name like '%' + @search + '%')";
BindingSource bs = new BindingSource();
}
}
}
感谢您的帮助。
答案 0 :(得分:0)
我在类级别声明了一个DataTable。
protected static DataTable dtSearch = null;
然后我按下了一个按钮,根据我在Textbox.Text字段中输入的值搜索DataTable进行过滤。
protected void btnSrch_Click(object sender, EventArgs e)
{
if (txtSearch.Text.Length > 0)
{
dtSearch = dtInitialDatable;//the datatable that was bound to my DatagridView
dv = new DataView(dtSearch);
dv.RowFilter = "Data_Column_Name LIKE '%" + txtSearch.Text.ToUpper() + "%'";
//bind the DataGridView to dv
myDataGridView.DataSource = dv;
//myDataGridView.DataBind();//uncomment if you are doing this in webform
}
else
{
dtSearch = null;
dv = null;
}
}
答案 1 :(得分:0)
这对我有用:
namespace Plan_de_lucru_1._0
{
public partial class SearchWindow : Form
{
public frPlanMain refTofrPlanMain;
public SearchWindow(frPlanMain f) //<<Edit made here
{
refTofrPlanMain = f;
InitializeComponent();
}
private void SearchButtonW_Click(object sender, EventArgs e)
{
{
(refTofrPlanMain.dGVPlan.DataSource as DataTable).DefaultView.RowFilter = string.Format("Vodic = '{0}'", searchTBoxW.Text);
foreach (DataGridViewRow item in refTofrPlanMain.dGVPlan.Rows)
{
if (item.Visible)
{
item.Selected = true;
break;