현재 동적 필터 옵션이 필요한 프로젝트를 진행 중입니다. 필터 유형을 결정하는 데 사용되는 콤보 상자와 검색 키를 가져 오는 데 사용되는 텍스트 상자입니다. 내가 원하는 것은 가능한 한 동적으로 만드는 것입니다. 고객이 즉석에서 새 코드를 원한다고 결정하면 소스 코드로 돌아와서 변경할 필요가 없습니다.
데이터는 현재 두 개의 데이터베이스에 분산되어 있으며 이에 대해 말할 수 없습니다. 이로 인해 Entity Framework 및 동적 LINQ의 사용이 권장되지 않습니다. 현재 내가 가지고있는 아이디어는 T-SQL을 사용하여 데이터베이스에 저장된 "필터"에 콤보 상자를 바인딩하여 결과를 가져오고 sp_executesql을 사용하여 결과를 가져 오는 것 입니다. 여기에서 볼 수 있습니다 .
이 작업을 수행하는 방법에 대한 다른 권장 사항이 필요합니다. 나는 C #에서 할 수 있다고 생각하는 우아한 방법이 있어야한다고 생각한다. 그러나 나는 그것을 생각할 수 없다.
DropDownList (여기서 이름은 yourDdl)를 사용하고 있고 DB에서 오는 데이터로 채우려면 다음과 같이하는 것이 좋습니다.
yourDdl.DataSource = getListSelection("AtecoYear = 2004", true);
yourDdl.DataTextField = "ComboText";
yourDdl.DataValueField = "ComboID";
yourDdl.DataBind();
getListSelection 메소드 (가장 좋은 방법은 적절한 클래스에 넣는 것입니다)는 DB에 연결하고 데이터를 추출하여 DataTable에 넣습니다.
public DataTable getListSelection(string filter_status)
{
DataTable dt;
string cmdText = "select ExampleID as ComboID, ExampleName as ComboText from ExampleTable";
SqlConnection objIdbConnection = new SqlConnection(yourConnectionString);
SqlCommand cmd = new SqlCommand();
cmd.CommandText = cmdText;
cmd.Connection = objIdbConnection;
cmd.CommandTimeout = 30; // seconds
cmd.Connection.Open();
IDataAdapter da = new SqlDataAdapter((SqlCommand)cmd);
DataSet myDataTable = new DataSet();
da.Fill(myDataTable);
objIdbConnection.Close();
return myDataTable.Tables[0];
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다