工作環境:windowsXP(SP3)+.net2005+crystalReport11開發版 以下為加載數據源及過濾的代碼: 
DataTable dt = new DataTable(); 
private void Form2_Load(object sender, EventArgs e) 

    DataColumn dc = new DataColumn("c1", typeof(int)); 
    dt.Columns.Add(dc); 
    dc = new DataColumn("c2", typeof(string)); 
    dt.Columns.Add(dc); 
    DataRow dr = dt.NewRow(); 
    dr[0] = 1; 
    dr[1] = "中國"; 
    dt.Rows.Add(dr); 
    dr = dt.NewRow(); 
    dr[0] = 2; 
    dr[1] = "香港"; 
    dt.Rows.Add(dr); 
    dr = dt.NewRow(); 
    dr[0] = 3; 
    dr[1] = "台灣"; 
    dt.Rows.Add(dr); 
    dr = dt.NewRow(); 
    dr[0] = 4; 
    dr[1] = "RP001_A'JANAE(女)"; 
    textBox1.Text = dr[1].ToString().Trim(); 
    dt.Rows.Add(dr); 
    dr = dt.NewRow(); 
    dr[0] = 5; 
    dr[1] = @"RP001_A\JANAE(女)"; 
    dt.Rows.Add(dr);     dataGridView1.DataSource = dt.DefaultView; 
} private void button1_Click(object sender, EventArgs e) 

    string filter = textBox1.Text.Trim(); 
    if (filter == "") 
        dt.DefaultView.RowFilter = ""; 
    else 
        dt.DefaultView.RowFilter = "c2='" + @filter + "'"; 

說明:c2列的資料是不可以修改的;除非在取資料時對資料行中的特殊字符做處理(不希望如此). 
問題:要顯示c2列內容為"RP001_A'JANAE(女)"的資料. 
當按下button1時,提示錯誤:語法錯誤: 'JANAE' 運算子之後遺漏運算元。
string filter = textBox1.Text.Trim(); 
改成以下也不行 
string filter = textBox1.Text.Trim().Replace("'", "\'");