C# 3.0 如何使用从富文本框输入的文本过滤datagridview?

C# 3.0 如何使用从富文本框输入的文本过滤datagridview?,c#-3.0,C# 3.0,我有一个datagridview,我想显示数据库中的数据。但我不想让它显示所有的数据。我希望它只显示特定ID的数据。这意味着如果用户输入3个ID,它将显示该3个ID的信息。因此,我想使用一个富文本框作为过滤器,以便用户可以为富文本框中的每一行输入多个ID。用户可以在富文本框中输入ID号,数据将用作过滤器,以显示该特定ID的数据。但我无法使其超出富文本框的第一行。如果我在第一行中只输入一个ID,它工作得很好,但是如果我在第二行或第三行中输入第二个ID,那么它将不会显示任何内容。我尝试使用for循环

我有一个datagridview,我想显示数据库中的数据。但我不想让它显示所有的数据。我希望它只显示特定ID的数据。这意味着如果用户输入3个ID,它将显示该3个ID的信息。因此,我想使用一个富文本框作为过滤器,以便用户可以为富文本框中的每一行输入多个ID。用户可以在富文本框中输入ID号,数据将用作过滤器,以显示该特定ID的数据。但我无法使其超出富文本框的第一行。如果我在第一行中只输入一个ID,它工作得很好,但是如果我在第二行或第三行中输入第二个ID,那么它将不会显示任何内容。我尝试使用for循环读取富文本框的每一行,但它不起作用。有什么建议或解决办法吗?? 这是我的密码:

namespace TrackCon
{
    public partial class trackInput : Form
    {
        public trackInput()
        {
        InitializeComponent();
        }

    /*private void trackInput_Load(object sender, EventArgs e)
    {
        // TODO: This line of code loads data into the 'trackingBMSDATADataSet.BRDATA' table. You can move, or remove it, as needed.
        this.bRDATATableAdapter.Fill(this.trackingBMSDATADataSet.BRDATA);

    }*/

    private void trackBtn_Click(object sender, EventArgs e)
    {
        RichTextBox dynamicRichTextBox = new RichTextBox(); 
        DataTable dt = null;
        string connoInput = richTextBox1.Text;
        string conString = Properties.Settings.Default.BMSDATAConnectionString;
        //string[] RichTextBoxLines = dynamicRichTextBox.Lines;
        foreach (char line in richTextBox1.Text)
        {
            using (SqlCeConnection con = new SqlCeConnection(@"Data Source=C:\Documents and Settings\Administrator\My Documents\Visual Studio 2008\Projects\TrackCon\TrackCon\BMSDATA.sdf;Persist Security Info = True;Password=xxxx"))
            {
                con.Open();
                SqlCeCommand com = new SqlCeCommand("SELECT conno,cmpsno,ctrx,dsysdate,cstnno,corigin FROM BRDATA WHERE conno = '" + richTextBox1.Text + "'OR cmpsno = '" + richTextBox1.Text + "'", con);
                SqlCeDataAdapter adap = new SqlCeDataAdapter(com);
                DataSet set = new DataSet();
                adap.Fill(set);
                if (set.Tables.Count > 0)
                {
                    dt = set.Tables[0];
                }
                dataGridView1.DataSource = dt;
                con.Close();
            }
        }

    }
}

}

我建议使用
文本框
并将
多行
设置为
true

然后您可以像这样读取所有ID:

 string[] ids = myTextBox.Text.Split('\n');
编辑:

您可以在中使用SQL查找所有元素:

string sql = "SELECT conno, etc FROM BRDATA WHERE conno IN (" + String.Join(", ", ids) + ")";

我是否需要将其放入for循环或if else?因为我想将文本框中的值传递给过滤器查询。