เกิดข้อผิดพลาดในตัวกรอง DataGridView

ฉันเติม My Datagridview โดยใช้ Linq Query ใน C# ฉันต้องการกรอง DataGridview นี้โดยใช้กล่องข้อความ

รหัสของเหตุการณ์ที่เปลี่ยนกล่องข้อความคือ:

DataTable dt = new DataTable();

dt = (DataTable)(dataGridViewX4.DataSource);

dt.DefaultView.RowFilter = string.Format("T_P = '{0}'", Txt_T_P_Se.Text);

dataGridViewX4.DataSource = dt;

หลังจากรันโปรแกรมแล้ว ข้อผิดพลาดนี้จะปรากฏขึ้น:

ข้อยกเว้น Cast ที่ไม่ถูกต้องไม่ได้รับการจัดการ ความช่วยเหลือใด ๆ ในการทำความเข้าใจปัญหานี้จะได้รับการชื่นชมอย่างมาก

แหล่งข้อมูลของฉันคือ:

var Query= (จาก p ใน QcGerdBaf.Taghes โดยที่ p.QGI_Id_Fk == QGI_Id_Selected เลือกใหม่ { p.T_P, p.T_Id });

dataGridViewX4.DataSource = Query.ToList();


person Erfani    schedule 22.01.2014    source แหล่งที่มา
comment
อยู่บรรทัดไหนกันแน่?   -  person Soner Gönül    schedule 22.01.2014


คำตอบ (2)


ลองแบบนี้ครับ

int value;  
DataTable dt = new DataTable();  
dt = (DataTable)(dataGridViewX4.DataSource);   
dt.DefaultView.RowFilter = string.Format("T_P = {0}",int.TryParse(Txt_T_P_Se.Text, out value));   
dataGridViewX4.DataSource = dt;
person Vignesh Kumar A    schedule 22.01.2014
comment
ดูความแตกต่างใกล้กับ {0} - person Vignesh Kumar A; 22.01.2014
comment
ฉันลองสิ่งนี้ แต่ได้รับข้อผิดพลาดเดียวกัน - person Erfani; 22.01.2014
comment
@Erfani ฉันได้อัปเดตวิธีแก้ปัญหาแล้ว โปรดตรวจสอบด้วย - person Vignesh Kumar A; 22.01.2014

ลองเช่นนั้นเพียงแก้ไขข้อมูล

(dataGridViewX4.DataSource as DataTable).DefaultView.RowFilter = string.Format("ID = '{0}'", Txt_T_P_Se.Text);

ลบรหัสของคุณและสิ่งนี้จะได้ผล

    //DataTable dt = new DataTable();

//dt = (DataTable)(dataGridViewX4.DataSource);

//dt.DefaultView.RowFilter = string.Format("T_P = '{0}'", Txt_T_P_Se.Text);

//dataGridViewX4.DataSource = dt;
person user3218707    schedule 22.01.2014
comment
สวัสดี ขอบคุณสำหรับความสนใจ ฉันลองใช้รหัสของคุณแล้ว แต่ได้รับข้อผิดพลาดเดียวกัน - person Erfani; 22.01.2014