ObjectDataSoure에 바인딩하는 Gridview가 있습니다.GridView (ObjectDataSource에 바인딩 됨)는 필드 대화 상자의 선택된 필드 영역에 필드를 표시하지 않습니다.
ObjectDataSource는 쿼리 결과와 함께 DataTable을 반환하는 DAL 메서드를 호출하는 비즈니스 개체를 사용합니다.
응용 프로그램 실행시, 에서 작동하지만, 설계 시간에 문제가있는 것입니다 : 나는의 GridView의 작업 마법사를 사용하는 경우 -> 열 편집 : 없음 필드가 선택한 필드의 텍스트 영역 (그래서 내가 할 수 '에서을 표시하지를 마법사를 사용하여 열을 편집하십시오).
DAL 방법 :
public override DataTable GetAllWorkers()
{
using (SqlConnection con = new SqlConnection(this.ConnectionString)) {
SqlCommand cmd = new SqlCommand("t_Workers_GetAllWorkers", con);
cmd.CommandType = CommandType.StoredProcedure;
con.Open();
return GetTable(cmd);
}
}
private DataTable GetTable(SqlCommand cmd)
{
SqlDataAdapter adp = new SqlDataAdapter();
adp.SelectCommand = cmd;
DataTable dt = new DataTable();
adp.Fill(dt);
return dt;
}
BLL 방법 :
public static DataTable GetAllWorkers()
{
return DataProvider.Instance().GetAllWorkers();
}
ASPX 웹 페이지 :
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server"
SelectMethod="GetAllWorkers" TypeName="BLL.BizImpl"></asp:ObjectDataSource>
<asp:GridView ID="GridView1" runat="server" DataSourceID="ObjectDataSource1"
EnableModelValidation="True" Height="156px" Width="270px">
</asp:GridView>
누군가가 문제의 원인이 무엇인가를 설명시겠습니까?
Thanks
답장을 보내 주셔서 감사합니다 .SqlDataSource를 사용하려고 시도했을 때 모든 열이 디자인 타임에 Selected fields 텍스트 영역에 나타납니다. 그래서 유청은 ObjectDataSoure를 사용할 때 생기지 않습니다. ASPX 파일에서 열을 수동으로 정의하는 것이 유일한 옵션입니까? – ProgNet
그런 다음 SqlDataSource를 사용하지 않는 이유는 무엇입니까? – chead23
정직하게 말하면 왜 그것이 다른 것과 작동하지 않는지 나는 잘 모르겠다. 나는 열을 수동으로 정의하는 것으로 시도 할 것이다. 열을 정의하지 않고 SqlDataSource에서이 작업을 수행 할 수 있었다면 형식 정보를 어디에 저장했는지, aspx에 있었는지 알았습니까? – chead23