前台:
<asp:DataList ID="DataListType" OnItemCommand="DataListType_ItemCommand" SelectedItemStyle-BackColor="Yellow" DataKeyField="typeid" Runat="Server" Width="388px" RepeatColumns="6" RepeatDirection="Horizontal"><ItemTemplate> <asp:LinkButton ID="LinkButton1" Text='<%# Eval("typename") %>' Runat="Server" /></ItemTemplate> <SelectedItemStyle BackColor="Yellow" /></asp:DataList> <asp:GridView ID="DataGridArticle" runat="server" AutoGenerateColumns="False" Width="623px" ShowHeader="False"> <Columns> <asp:BoundField DataField="Title" /> <asp:BoundField DataField="UpdateTime" DataFormatString="{0:MM-dd}" /> </Columns> </asp:GridView>
后台:
DataSet ds; protected void Page_Load(object sender, EventArgs e) { OleDbDataAdapter dr; ds = (DataSet)Cache["Store"];
if (ds == null) { ds = new DataSet(); string strDBPath = System.Configuration.ConfigurationSettings.AppSettings["DBPath"]; string strConn = System.Configuration.ConfigurationSettings.AppSettings["Connection"] + Server.MapPath(strDBPath); OleDbConnection myConnection = new OleDbConnection(strConn);
dr = new OleDbDataAdapter("Select * From ArticleType", myConnection); myConnection.Open(); dr.Fill(ds, "ArticleType"); dr.SelectCommand = new OleDbCommand("Select * from Article", myConnection); dr.Fill(ds, "Article"); myConnection.Close(); //DataSet ds = (DataSet)Cache["Store"]; } if (!IsPostBack) { DataListType.DataSource = ds; DataListType.DataMember = "ArticleType"; DataListType.DataBind(); } } public void DataListType_ItemCommand(object s, DataListCommandEventArgs e) { DataView dv; int ID;
// Select the Chosen Category DataListType.SelectedIndex = e.Item.ItemIndex;
// get CategoryID from DataKeys Collection ID = System.Convert.ToInt32(DataListType.DataKeys[e.Item.ItemIndex]);
// Filter the Products dv = ds.Tables["Article"].DefaultView; dv.RowFilter = "typeid=" + ID; DataGridArticle.DataSource = dv; DataGridArticle.DataBind(); }
