如何在C#中查询数据集并将结果返回到datagridview?
我有datagridview,它显示它的数据源(库存系统的SQL数据库) 我想能够做的是过滤什么是显示在datagridview的基础上,如果有什么东西已经订购等 因此,我以如下方式填充datagridview:如何在C#中查询数据集并将结果返回到datagridview?,c#,sql,datagridview,dataset,C#,Sql,Datagridview,Dataset,我有datagridview,它显示它的数据源(库存系统的SQL数据库) 我想能够做的是过滤什么是显示在datagridview的基础上,如果有什么东西已经订购等 因此,我以如下方式填充datagridview: private void Form1_Load(object sender, EventArgs e) { bG_T1TableAdapter.Fill(bUZZGEEF_DBDataSet.BG_T1); ResizeCols();
private void Form1_Load(object sender, EventArgs e)
{
bG_T1TableAdapter.Fill(bUZZGEEF_DBDataSet.BG_T1);
ResizeCols();
}
但我一辈子都搞不懂如何查询数据集
例如,我想单击一个按钮,该按钮将显示已选中ordered列的所有行
但一般来说,我想知道如何构建自己的查询。您可以使用DataTableView行过滤器来查询datatable
bG_T1TableAdapter.Fill(bUZZGEEF_DBDataSet.BG_T1);
bUZZGEEF_DBDataSet.BG_T1.DefaultView.RowFilter = "ID < 10";
myDataGridView.DataSource =bUZZGEEF_DBDataSet.BG_T1.DefaultView;
bG_T1TableAdapter.Fill(bUZZGEEF_DBDataSet.bG_T1);
bUZZGEEF_DBDataSet.BG_T1.DefaultView.RowFilter=“ID<10”;
myDataGridView.DataSource=bUZZGEEF_DBDataSet.BG_T1.DefaultView;
您可以使用DataTableView行筛选器查询datatable
bG_T1TableAdapter.Fill(bUZZGEEF_DBDataSet.BG_T1);
bUZZGEEF_DBDataSet.BG_T1.DefaultView.RowFilter = "ID < 10";
myDataGridView.DataSource =bUZZGEEF_DBDataSet.BG_T1.DefaultView;
bG_T1TableAdapter.Fill(bUZZGEEF_DBDataSet.bG_T1);
bUZZGEEF_DBDataSet.BG_T1.DefaultView.RowFilter=“ID<10”;
myDataGridView.DataSource=bUZZGEEF_DBDataSet.BG_T1.DefaultView;
您可以将数据视图用于上述目的,并将过滤后的数据视图绑定到数据网格
bG_T1TableAdapter.Fill(bUZZGEEF_DBDataSet.BG_T1);
DataView dv = new DataView(bUZZGEEF_DBDataSet.BG_T1);
dv.RowFilter = "query"; // query example = "id = 10"
myDataGridView.DataSource =dv;
有关详细信息,您可以查看您可以使用数据视图实现上述目的,并将过滤后的数据视图绑定到数据网格
bG_T1TableAdapter.Fill(bUZZGEEF_DBDataSet.BG_T1);
DataView dv = new DataView(bUZZGEEF_DBDataSet.BG_T1);
dv.RowFilter = "query"; // query example = "id = 10"
myDataGridView.DataSource =dv;
有关更多信息,您可以查看我认为您需要类似于下面代码示例中所示的内容。基本上,开始在文本框中输入,GridView中的结果将根据输入文本框的内容进行过滤
using System.Data.SqlClient;
public class Form1
{
DataSet ds = new DataSet;
private void Form1_Load(System.Object sender, System.EventArgs e)
{
SqlConnection con = new SqlConnection("Data Source=name_of_your_sql_server; Integrated Security=true; Initial Catalog=name_of_your_database");
con.Open();
SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM Categories", con);
da.Fill(ds, "Cat");
DataGridView1.DataSource = ds.Tables("Cat");
}
private void TextBox1_TextChanged(System.Object sender, System.EventArgs e)
{
ds.Tables("Cat").DefaultView.RowFilter = "[CategoryName] LIKE '*" + TextBox1.Text + "*'";
}
}
我认为您需要类似于您在下面的代码示例中看到的内容。基本上,开始在文本框中输入,GridView中的结果将根据输入文本框的内容进行过滤
using System.Data.SqlClient;
public class Form1
{
DataSet ds = new DataSet;
private void Form1_Load(System.Object sender, System.EventArgs e)
{
SqlConnection con = new SqlConnection("Data Source=name_of_your_sql_server; Integrated Security=true; Initial Catalog=name_of_your_database");
con.Open();
SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM Categories", con);
da.Fill(ds, "Cat");
DataGridView1.DataSource = ds.Tables("Cat");
}
private void TextBox1_TextChanged(System.Object sender, System.EventArgs e)
{
ds.Tables("Cat").DefaultView.RowFilter = "[CategoryName] LIKE '*" + TextBox1.Text + "*'";
}
}
谢谢,我不确定它是否在我原始问题的范围内,但是当我更新返回行上的值时,它就会从视图中消失。有什么方法可以阻止这种情况发生吗?将行筛选器设置为空字符串将清除FilterHanks,我不确定它是否在原始问题的范围内,但当我更新返回行上的值时,它将从视图中消失。有什么方法可以阻止这种情况发生吗?将行筛选器设置为空字符串将清除筛选器