私はスタックした1つの問題があり、それに対する解決策を見つけることができません、ひどくあなたの助けが必要です:実際、私は女性であるすべての従業員を検索する必要があるように、従業員テーブルで何らかの検索を行う必要がありますphdなどを取得し、if条件を使用して従業員テーブルをクエリする関数を作成しました。この検索の結果はグリッドビューに表示され、allowpagingがtrueになります。問題は、[次へ]をクリックしてグリッドビューの他のページに移動することです。完全なポストバックを実行し、gridviewデータソースに再度バインドします。gridviewデータソースに以下の関数(DetailedSearch)を指定すると、関数に入ると、特定のif条件に移動せずに、最初のif条件で読み取りを開始します。例外をスローしますオブジェクト参照がオブジェクト インスタンスに設定されていません
これが私のコードです(完全なコードではなく、その一部です):
public DataTable DetailedSearch()
{
con.Open();
SqlDataAdapter da=new SqlDataAdapter();
if (FirstName != string.Empty)
{
if (FirstName != string.Empty && LastName != "--Letters--")
{
da = new SqlDataAdapter("select * from employee where firstname ='" + FirstName.ToString() + "'"+"and lastname like '"+LastName.ToString()+"%'", con);
}
else if(FirstName!=string.Empty && Gender!="{Please Select}")
{
da = new SqlDataAdapter("select * from employee where firstname ='" + FirstName.ToString() + "'" + "and gender='" + Gender.ToString() + "'", con);
}
else if(FirstName!=string.Empty && MaritalStatus!="{Please Select}")
{
da = new SqlDataAdapter("select * from employee where firstname ='" + FirstName.ToString() + "'" + "and maritalstatus='" + MaritalStatus.ToString() + "'", con);
}
else if(FirstName!=string.Empty && Qualification!="{Please Select}")
{
da = new SqlDataAdapter("select * from employee where firstname ='" + FirstName.ToString() + "'" + "and qualification='" + Qualification.ToString() + "'", con);
}
else if(FirstName!=string.Empty && GraduationDate!=DateTime.MinValue)
{
da = new SqlDataAdapter("select * from employee where firstname ='" + FirstName.ToString() + "'" + "and graduationdate='" + GraduationDate.ToString() + "'", con);
}
else if(FirstName!=string.Empty && Province!="{Please Select}")
{
da = new SqlDataAdapter("select * from employee where firstname ='" + FirstName.ToString() + "'" + "and province='" + Province.ToString() + "'", con);
}
else if(FirstName!=string.Empty && LastEmployer!=string.Empty)
{
da = new SqlDataAdapter("select * from employee where firstname ='" + FirstName.ToString() + "'" + "and lastemployer='" + LastEmployer.ToString() + "'", con);
}
else if(FirstName!=string.Empty && EnteredBy!="{Please Select}")
{
da = new SqlDataAdapter("select * from employee where firstname ='" + FirstName.ToString() + "'" + "and enteredby='" + EnteredBy.ToString() + "'", con);
}
else if (FirstName != string.Empty && DateEntered != DateTime.MinValue)
{
da = new SqlDataAdapter("select * from employee where firstname ='" + FirstName.ToString() + "'" + "and dateentered='" + DateEntered.ToString() + "'", con);
}
else
{
da = new SqlDataAdapter("select * from employee where firstname ='" + FirstName.ToString() + "'", con);
}
}
else if (LastName != "--Letters--")
{
if (LastName != "--Letters--" && Province != "{Please Select}")
{
da = new SqlDataAdapter("select * from employee where lastname like'" + LastName.ToString() + "%'" + "and province='" + Province.ToString() + "'", con);
}
else if (Gender != "{Please Select}" && LastName != "--Letters--")
{
da = new SqlDataAdapter("select * from employee where gender='" + Gender.ToString() + "'" + "and lastname like '" + LastName.ToString() + "%'", con);
}
DataTable dt = new DataTable();
da.Fill(dt);
con.Close();
return dt;
}
完全に空白であり、ロジックが頭に浮かばないので、何をすべきかを教えてください。クエリが検索に基づいて同じではない可能性があるため、if句を配置する必要がありますが、gridviewページングにこれを認識させる方法:(
前もって感謝します