ObjectDataSource +GridView

ObjectDataSource +GridView

 
的使用objectDataSource和GridView实现绑定数据和分页的以及删除时候注意点
 
1, ObjectDataSource 配置数据源
2.选择相应的业务层
3.选择相应的方法
如分页方法
4.如果需要给分页配置参数可先省略(后面配置)
5.在 ObjectDataSource 属性的分页项设置如图(名字要和方法参数名字一致)
 这个值是获得数据总条数的方法名字(没有括号)
这时还有两个参数没有配置
一个是排序方法:
 
SortedBY 一个是o
ObjectDataSource 属性数据里面有一个
还有一个参数o,需在后台代码里配置
  protected void ObjectDataSource1_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
    {
        //(int startIndex, int pageSize, string sortedBy, dbo_user o
        dbo_user o = new dbo_user();
        o.sex = "0";
        e.InputParameters[0] = o;
    }
在GirdView里面设置相应的值
 
如果参数配置错误的话会提示: ObjectDataSource“ObjectDataSource1”未能找到带参数的非泛型方法“GetUsersCount”: startIndex, pageSize, sortedBy, o。
另外,还要把页面中ObjectDataSource的参数注释掉
     <SelectParameters>
       <%-- <asp:Parameter Name="startIndex" Type="Int32" />
            <asp:Parameter Name="pageSize" Type="Int32" />
            <asp:Parameter Name="sortedBy" Type="String" />--%>
       
            <asp:Parameter Name="o" Type="Object" />
 
 
然后就可以把  ObjectDataSource 和GridView配置到一起了
 
选中GridView控件,控件右上角有一个箭头  点击箭头,选择配置数据源,选择 ObjectDataSource1,启用分页,删除
在后台对他们进行绑定
 protected void Page_Load(object sender, EventArgs e)
    {
        GridViewHelper.InitDefaultGridViewEvent(GridView1, ObjectDataSource1);
        GridView1.PageIndex = 0;
        GridView1.DataSourceID = ObjectDataSource1.ID;
        GridView1.DataBind();
        
    }
GirdView删除
 
当GirdView启用删除的时候,要把属性->数据->DataKeyNames id设为主键
 
而且在objectDataSource里的事件里的Deleteing事件激活
 
实现
protected void ObjectDataSource1_Deleting(object sender, ObjectDataSourceMethodEventArgs e)
    {
      IDictionary parmsFormPage=e.InputParameters;
      if (parmsFormPage["id"]!=null)
      {
          dbo_user o = new dbo_user();
          o.id = parmsFormPage["id"].ToString();
          parmsFormPage.Clear();
          parmsFormPage.Add("o",o);
      }
    }
 
GirdView编辑:
这里我是用编号,点击编号弹出一个窗体,里面是修改内容页
     <asp:TemplateField  HeaderText="编号" SortExpression="id" >
                <ItemTemplate>               
                <a href="javaScript:void(0);" onclick="editCust('<%#Eval("id") %>');"><%#Eval("id"%></a>
                </ItemTemplate>
                </asp:TemplateField>
实现
 
 <script type="text/javascript">
        function editCust(id) {
            var url = "../AddUser.aspx";
            if (typeof (id) != undefined && id != null && id != "") {
                url = url + '?id=' + id;
            }
            alert(url);
            openBrWindow(url, '_blank''width=655,height=320,resizable=yes');
            
        }
    </script>

转载于:https://www.cnblogs.com/guohuiru/archive/2013/05/30/3108377.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值