이미 데이터 테이블이 있습니다. 목록보기에서 채울 필요가 있습니다. 문제는이 오류가 발생합니다 :데이터 테이블을 사용하여 목록보기를 채우려면 어떻게해야합니까?
'System.Web.UI.WebControls.ListView'에 'DisplayMember'에 대한 정의가없고 확장 메서드 'DisplayMember'에 첫 번째 인수 인 ' System.Web.UI.WebControls.ListView '를 찾을 수 있습니다 (사용 지시문이나 어셈블리 참조가 누락 되었습니까?)
목록보기에 "DisplayMember"속성이 있다고 생각합니까? 이것은 ASP .NET 4.0입니다.
namespace Eagle_Replication_Manager
{
public partial class wfrmMain : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//on page load, I want to get a database table and populate this list view:
lvItems.DataSource = GetSourceDBs();
//This does not work, error here:
lvItems.DisplayMember = "Description";
}
private DataTable GetSourceDBs()
{
using (SqlConnection conn = new SqlConnection(AppVars.connectionString))
{
using (SqlCommand cmd = new SqlCommand("SELECT [Description] FROM [Warehouse].[dbo].[Items]", conn))
{
conn.Open();
cmd.ExecuteNonQuery();
using (SqlDataAdapter da = new SqlDataAdapter(cmd))
{
using (DataTable dt = new DataTable())
{
da.Fill(dt);
return dt;
}
}
}
}
}
}
}
사용자 코드가 InvalidOperationException 처리하지 못했습니다. ItemTemplate은 ListView 'lvItems'에 정의되어야합니다. ItemTemplate을 설정해야하지만 옵션은 무엇입니까? – Testifier
아이디어는 마크 업에서 모든 항목 등으로을 정의해야한다는 것입니다. 그렇게하고 싶지 않으면 추가 작업없이 자동으로 테이블을 생성 할 수 있으므로 GridView를 대신 사용하십시오 . –
niaher
아, 알겠습니다. 내가 목록보기를 사용하는 이유는 사용자가 항목을 선택하여 자신의 선택에 따라 작업을 수행 할 수 있기 때문입니다. – Testifier