使用常用的GridView数据控件

来源:互联网 发布:linux 端口转发到外部 编辑:程序博客网 时间:2024/06/05 20:46
 <asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource1" 
            AutoGenerateSelectButton="true" DataKeyNames="某列1,某列2"
             AllowSorting="true" AllowPaging="true" PageSize="4"
             PagerSettings-Mode="NextPrevious" PagerSettings-NextPageText="下一页"></asp:GridView>
        <!--添加AutoGenerateSelectButton,会在数据的旁边出现“选择”,当点击的时候,相应的数据会在GridView2出现
            使用DataKeyNames数据健,AllowSorting对数据排序,AllowPaging实行分页,PageSize为每页多少,
            PagerSettings类为分页的各种详情,NextPageText就是为下一页的显示文字,还有等等-->
       <asp:SqlDataSource ID="SqlDataSource1" runat="server" SelectCommand="select 某列1,某列2 from 练习表"
             ConnectionString="<%ConnectionString:练习表 %>"></asp:SqlDataSource>
        <!--连接并查询数据库,从练习表中查询列1和列2,ConnectionString表连接数据库的具体方法,在web.config
            中的文件为<connectionStrings><add name="练习表" connectionString="Data Source=localhost; 
         Initial Catalog=xuesheng; Integrated Security=True"providerName="System.Data.SqlClient"/>
         </connectionStrings>添加到<configuration>中间-->
        <asp:GridView ID="GridView2" runat="server" DataSourceID="SqlDataSource2"></asp:GridView>
         <asp:SqlDataSource ID="SqlDataSource2" runat="server" SelectCommand="select 列1,列2 from 
       练习表 where 列1=@某列1 and 列2=@某列2" ConnectionString="<%ConnectionString:练习表 %>">
             <SelectParameters>
                 <asp:ControlParameter Name="某列1" ControlID="SqlDataSource1" PropertyName="SelectedValue"/>
                 <asp:ControlParameter name="某列1" ControlID="SqlDataSource1" PropertyName='SelectedDataKey("某列1")'/>
                 <asp:ControlParameter Name="某列2" ControlID="SqlDataSource1" PropertyName='SelectedDataKey("某列2")'/>
             </SelectParameters>
         </asp:SqlDataSource>
        <!--使用PropertyName确定列1的值,SelectedValue为选择的数据值,当表1中的“列1=@第二表中的某列”时,表2数据出现-->
       <!--第二种采用数据健的方式DataKeyNames,利用SelectedDataKey("某列?")绑定,意为返回被选择行相关的datakey对象-->      
    </div>
        还有自定义分页
         <PagerTemplate>
        <asp:Button ID="Button1" runat="server" Text="下一页" CommandName="page" CommandArgument="Next"/>
            <asp:Menu runat="server" Orientation="Horizontal" OnMenuItemClick="Unnamed_MenuItemClick" ID="idx"></asp:Menu>
        <asp:Button ID="Button2" runat="server" Text="上一页" CommandName="page" CommandArgument="Prev" />
        </PagerTemplate>
        //这个是GridView中的ondatabound事件中的代码
        Menu menupager = (Menu)id1.BottomPagerRow.FindControl("idx");//在GridView的id1中找到menu控件id
        for (var i = 0; i < id1.PagerCount; i++)
        {
            MenuItem item = new MenuItem();//创建menu中的MenuItem实例
            item.Text = String.Format("", i + 1);
            item.Value = i.ToString();//添加索引值到item中
            if (id1.PageIndex == i)
            {
                item.Selected = true;
                menupager.Items.Add(item);//当i值等于当前索引值,显示并添加到集合中
            }
        }
        //加到OnMenuItemClick事件中
         id1.PageIndex = Int32.Parse(e.Item.Value);//选中的值给GridView的索引
原创粉丝点击