Form1 中有一些控件和一个名为 Filter 的按钮。触发事件Filter_Clicked
后,将打开第二个表单 Form2 。 Form2 中有一些输入控件和一个名为Search
的按钮。触发Search_Clicked
事件后, Form2 会向 Form1 中的某个方法发送查询。然后,结果显示在 Form1 的GridView
控件中。
我的问题是:
变式1:
/* Result: Display only column name in Form1 gridview */
public Form2()
{
InitializeComponent();
var way1 = Application.OpenForms.OfType<Form1>().Single();
}
Search_Clicked()
事件如下所示:
String searchExam = comboBoxForExamFilter.SelectedItem.ToString();
String searchFilter = "select Exam_Name,Subject_Name,Marks,Status from ABC_SchoolDB.dbo.Sheet_Marks where Exam_Name= ' " + searchExam + " ' ";
way1.userSqlQueryExecutor(searchFilter);
注意:
userSqlQueryExecutor(searchQuery)
时,会显示表数据变式2:
/* Result: NullReferenceException was unhandled */
private Form1 way2;
public Form2(Form callForm1)
{
InitializeComponent();
way2 = callForm1 as Form1;
}
Search_Clicked()
事件如下所示:
way2.userSqlQueryExecutor(searchFilter);
如何在GridView
控件中显示所有行数据?