ASP.NET Gridview zeigt nicht

ok, so bin ich sicher, dass das problem in der code-behind, etwas ist nicht richtig..

DAL ist eine Klasse, erhält Daten aus der db, und es funktioniert, sicher.

code hinter:

using DALLib;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace FinalProject
{
    public partial class בתים : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                MaxRooms.Attributes.Add("onChange", "return OnSelectedIndexChange()");
                MinRooms.Attributes.Add("onChange", "return OnSelectedIndexChange()");

                Cities.DataSource = (DataTable)Application["CitiesTable"];
                Cities.DataTextField = "Name";
                Cities.DataBind();
            }

            DAL findHouses = new DAL(
                "SELECT * FROM Houses WHERE City='" + Cities.Text + "' AND Rooms BETWEEN '" + MinRooms.Text + "' AND '" + MaxRooms.Text + "'",
                ConfigurationManager.AppSettings["ConnectionString"],
                "Houses"
                );

            Application.Lock();
            Application["SearchResultsTable"] = findHouses.GetTable();
            Application.UnLock();

        }

        protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            SearchResults.PageIndex = e.NewPageIndex;
            BindHousesToGrid();
        } 

        private void BindHousesToGrid()
        {
            SearchResults.DataSource = (DataTable)Application["SearchResultsTable"];
            SearchResults.DataBind();
        }

    }
}

form:

<div>
    <asp:GridView ID="SearchResults" runat="server" CellPadding="4" GridLines="None" AutoGenerateColumns="False" ForeColor="#333333" AllowPaging="True">
        <AlternatingRowStyle BackColor="White"></AlternatingRowStyle>
        <Columns>
            <asp:BoundField DataField="Id" HeaderText="מספר נכס" />
            <asp:BoundField DataField="City" HeaderText="עיר" />
            <asp:BoundField DataField="Street" HeaderText="רחוב" />
            <asp:BoundField DataField="Rooms" HeaderText="חדרים" />
            <asp:BoundField DataField="size" HeaderText="גודל" />
            <asp:BoundField DataField="price" HeaderText="מחיר" />
        </Columns>
        <FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White"></FooterStyle>

        <HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="White"></HeaderStyle>

        <PagerStyle HorizontalAlign="Center" BackColor="#FFCC66" ForeColor="#333333"></PagerStyle>

        <RowStyle BackColor="#FFFBD6" ForeColor="#333333"></RowStyle>

        <SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="Navy"></SelectedRowStyle>

        <SortedAscendingCellStyle BackColor="#FDF5AC"></SortedAscendingCellStyle>

        <SortedAscendingHeaderStyle BackColor="#4D0000"></SortedAscendingHeaderStyle>

        <SortedDescendingCellStyle BackColor="#FCF6C0"></SortedDescendingCellStyle>

        <SortedDescendingHeaderStyle BackColor="#820000"></SortedDescendingHeaderStyle>
    </asp:GridView>
</div>

den button auf meinem Formular nicht tun, aber zuerst möchte ich die gridview zu zeigen, die Anfangswerte, also die ganze db-Tabelle..
was mache ich falsch?

InformationsquelleAutor Adam Bensh | 2013-12-08
Schreibe einen Kommentar