Gridview에 표시 할 데이터베이스의 레코드를 검색하는 ObjectDataSource에 바인딩 된 gridview가 있습니다. 레코드를 반환하는 절차는 검색 문자열을 가져와 관련 결과를 표시합니다.Gridview를 사용하여 데이터베이스에서 빈 반환을 처리하는 방법은 무엇입니까?
: 데이터베이스에서 결과가없는 그러나 때 데이터베이스에서 모든 레코드를 반환하는 경우로 아래의 그림과 같이, 나는, 하단의 페이지 번호와 함께 빈의 gridview를 얻을 수 EmptyDataText 및 EmptyDataTemplate 속성을 모두 설정했지만 결과가 없을 때는 표시되지 않습니다.
누구에게 무슨 일이 일어나고 있는지 알고 계십니까?
protected void ObjectDataSource1_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
{
if (!String.IsNullOrEmpty(this.txtSearchBox.Text))
{
e.InputParameters["searchExpression"] = "%" + this.txtSearchBox.Text + "%";
}
else return;
}
그리고 데이터를 가져 오는에 대한 코드 :
cmd.AddParameter("searchExpression", searchExpression);
cmd.AddParameter("sortExpression", sortColumn);
cmd.AddParameter("startRowIndex", startRowIndex);
cmd.AddParameter("maximumRows", maximumRows);
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
DataTable dt = ds.Tables[0];
int i = dt.Rows.Count;
return ds.Tables[0];
을 여기
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" EnablePaging="True" SelectCountMethod="GetUsersCount"
SelectMethod="GetUsers" SortParameterName="sortColumn" TypeName="WebsiteBuilder.Core.UUser"
OnSelecting="ObjectDataSource1_Selecting">
<SelectParameters>
<asp:Parameter Name="searchExpression" Type="String" DefaultValue="" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:GridView ID="grdUsers" runat="server" CssClass="grdUsers" AutoGenerateColumns="false"
OnDataBound="grdUsers_DataBound" DataSourceID="ObjectDataSource1" AllowPaging="true"
AllowSorting="true" OnRowCommand="grdUsers_RowCommand" PageSize="5" EmptyDataText="No Results">
<PagerSettings FirstPageText="First" LastPageText="Last" Mode="NumericFirstLast"
PageButtonCount="5" Position="Bottom" />
<PagerStyle CssClass="pagination" HorizontalAlign="Center" VerticalAlign="Middle" />
<EmptyDataTemplate>No Results</EmptyDataTemplate>`
이 (가) 선택 이벤트에 대한 코드입니다 : 여기
은 ObjectDataSource를과의 GridView에 대한 ASP의
내가 디버그에서 값을 0으로 확인할 때 내 질문은 왜 gridview EmptyD 표시하지 않습니다 ataTemplate 및 행이 없을 때 여러 페이지 번호를 표시하는 이유
데이터를 Gridview에 바인딩하는 데 사용하는 방법을 표시 할 수 있습니까? –
Davide의 의견 외에도 귀하는 절차를 실행하여 실제로 반환되는 것이 없음을 결정 했습니까? – Chuck
네, 반환되는 행의 수를 얻었습니다. 또한 0입니다. 또한 디버그에서 실행하고 그리드의 페이지 수 속성을 확인한 후 예상대로 0으로 설정되었습니다. 바인드를 보여주기 위해 질문을 편집 할 것입니다. – ryanthescot