ASP.NET 4.0 응용 프로그램에서 ext.net 1.3 컨트롤을 사용하고 있습니다. 내 Web Form에 여러 ComboBox 컨트롤이 있습니다. 이 페이지는 삽입 및 업데이트의 두 가지 작업을 수행하기로되어 있습니다. 새 레코드가 저장 될 때 문제는 없습니다. 그러나 기존 데이터베이스 값으로 ComboBox 컨트롤을 채울 때 다양한 문제가 나타납니다. 가장 큰 문제는 다음과 같습니다.Value를 얻기 위해 ComboBox 항목을 다시 선택해야하는 이유는 무엇입니까?
ComboBox는 데이터베이스의 텍스트를 표시하지만 채워지지 않으며 ComboBox 값 멤버를 선택할 수 없습니다. 이것은 채워지지 않기 때문입니다. ComboBox를 페이지로드 이벤트에 채우는 코드를 작성했습니다.
나는 데이터베이스에서 값을 선택하고 콤보 상자에이를 표시하려면이 코드를 사용하고 있습니다 :
는string Query = "SELECT CustName FROM CustomerMaster WHERE CustID = " + Session["CustomerID"];
var result = DB.Single<Customer>(Query);
CustomerComboBox.setValue = result.CustName;
이 코드는 성공적으로 콤보 상자에서 고객 이름과 표시를 검색합니다. 그것이하지 않는 것은 ComboBox Item List에서 선택하지 않고 ComboBox를 채우지 않는 것입니다.
내가 사용하는 텍스트의 값 회원을 검색하려고하면 :
CustomerComboBox.SelectedItem.Value;
이 오류를 제공합니다.
작동되게하려면 ComboBox를 다시 클릭하여 값을 채우려면 목록에서 동일한 고객 이름을 수동으로 선택해야합니다.
이 문제를 해결하는 방법은 무엇입니까? 페이지로드 이벤트
public void FillExtComboList(string ParameterFlag, ComboBox DropDownName)
{
string Query = "";
using (TransactionScope transactionScope = new TransactionScope())
{
using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["cncustomer"].ConnectionString.ToString()))
{
con.Open();
SqlDataReader dr;
try
{
if (ParameterFlag == "Customer")
{
Query = "SELECT CustName FROM CustomerMaster";
}
//Check whether the Drop Down has existing items. If YES, empty it.
if (DropDownName.Items.Count > 0)
DropDownName.Items.Clear();
SqlCommand cmd = new SqlCommand(Query, con);
dr = cmd.ExecuteReader();
while (dr.Read())
{
Ext.Net.ListItem extLI = new Ext.Net.ListItem();
extLI.Text = dr[0].ToString();
DropDownName.Items.Add(extLI);
}
dr.Close();
con.Close();
}
catch (Exception ex)
{
con.Close();
// RunCustomScript("alert('" + ex.Message.ToString() + "')", callingPageObjectName);
}
} /* End of SQL Connection */
transactionScope.Complete();
} /* End of Transaction Scope */
}
가 콤보 제어는 상기의 방법으로 작성되어
- - 편집
ext.net 콤보 채우기 위해 코드는하다.
합니다. 코드를 사용하여 게시물을 수정했습니다. – RKh
DropDownName과 CustomerComboBox의 마지막 줄 혼동을 무시하십시오. 전자는 매개 변수이고 후자는 ComboBox의 이름입니다. – RKh