asp.net某些控件属性

一。DropDownList控件

DropDownList控件的DataTextField和DataValueField的区别  说明文档记述: ListControl.DataTextField 属性  获取或设置为列表项提供文本内容的数据源字段。ListControl.DataValueField 属性获取或设置为各列表项提供值的数据源字段。

网上摘录: DataTextField用来作显示内容,一般给别人看,例如是一张表的某个字段的内容  DataValueField用来放唯一性的字段值,一般是主键。 

DataTextField是显示出来的内容,DataValueField是你controlid.selectedvalue的值,比如说吧,一般DataTextField是员工的名字,张三,里斯等,DataValueField是员工的id,名字可以重复,但是id不可以重复,可以作为一个员工的唯一标识,根据标识处理数据,就不会出错了,当然了,你也可以把两个弄成一样的,也是可以的 下面是以dropdownlist为例,绑定数据        

 //conn为数据库连接对象,DDL1为dropdownlist控件

         string DAstr="select * from jobs"; 

        SqlDataAdapter DA=new SqlDataAdapter(DAstr,conn); 

        DataSet DS=new DataSet ();         

DA.Fill(DS, "jobs");

        DDL1.DataSource = DS;

        DDL1.DataTextField = "min_lvl"; 

        DDL1.DataValueField = "job_id"; 

        DDL1.DataBind()

二。

GridView控件

(1)DataKeyNames一般都是用来对当前行做唯一标示的,所以一般为数据库的ID。
(2)GridView.DataKeys[e.Row.RowIndex].Value,e.Row.RowIndex是获取事件对应的行,GridView.DataKeys[e.Row.RowIndex].Value就是获取对应行的唯一标示也就是DataKeyNames所指定列的值。

(1).DataSet ds = new DataSet();
        //调用自定义类中的ReturnDataSet方法返回一个DataSet类型的数据集

SqlDataAdapter adapter=new SqlDataAdapter ();

string sql="select * from tb_matter order by id desc"; //sql语句,用于查询表中数据

adapter.Fill(ds,"tb_matter"); //tb_matter是数据库中的留言信息表                

GridView1.DataSource = ds;

        //获得一个包含当前显示项的主键字段的名称为id的数组
        GridView1 .DataKeyNames = new string[] { "id"};

//绑定数据
         GridView.DataBind();

(2).SqlConnection con = new SqlConnection("server=(local);uid=sa; pwd=;database=db_ManyChat");
        //打开数据库的连接
        con.Open();
        //创建一个SqlCommand对象的实例
        SqlCommand com = new SqlCommand("delete from tb_matter where id='" +  GridView1.DataKeys[e.RowIndex].Value + "'", con);
        //执行SqlCommand命令
        com.ExecuteNonQuery();
        //执行页面刷新
        Page_Load(sender, e);

gridview 分页

用allowpaging比较方便,具体步骤:
1.首先要在GridView中加入:
AllowPaging="true" PageSize="10" OnPageIndexChanging="GridView1_PageIndexChanging"
2.要在后台加入GridView1_PageIndexChanging()方法:
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            GridView1.PageIndex = e.NewPageIndex;
            DataBind();//重新绑定一遍数据
        }

三。DataList控件


上图是Datalist控件的显示

 <asp:DataList ID="DataList1" runat="server" Height="150px" Width="160px">
                                    <ItemTemplate>
                                        <table>
                                            <tr>
                                                <td>
                                                    <asp:Image ID="Image2" runat="server" ImageUrl='<%# DataBinder.Eval(Container.DataItem,"img") %>' />
                                                </td>
                                                <td>
                                                    <asp:LinkButton ID="LinkButton1" Font-Size="Small" runat="server" Font-Underline="false" Text='<%# DataBinder.Eval(Container.DataItem,"name") %>'>LinkButton</asp:LinkButton>
                                                </td>
                                            </tr>
                                        </table>
                                    </ItemTemplate>
                                    </asp:DataList>

DataList前台的代码,下面是DataList后台数据绑定代码

 public void BindData()
    {
        int curpage = Convert.ToInt32(this.labPage.Text);
        PagedDataSource ps = new PagedDataSource();
        //建立与数据库的连接
        SqlConnection con = new SqlConnection("server=(local);user id=sa; pwd=;database=db_ManyChat");
        //打开数据库连接
        con.Open();
        //创建SqlDataAdapter对象的实例
        SqlDataAdapter ada = new SqlDataAdapter("select * from tb_user", con);
        //创建DataSet数据集
        DataSet ds = new DataSet();
        //应用SqlDataAdapter对象的Fill方法填充数据集
        ada.Fill(ds,"tb_user");
        ps.DataSource = ds.Tables["tb_user"].DefaultView;
        ps.AllowPaging = true;
        ps.PageSize = 6;
        ps.CurrentPageIndex = curpage - 1;
        this.lnkbtnUp.Enabled = true;
        this.lnkbtnNext.Enabled = true;
        this.lnkbtnBack.Enabled = true;
        this.lnkbtnOne.Enabled = true;
        if (curpage == 1)
        {
            this.lnkbtnOne.Enabled = false;//不显示第一页按钮
            this.lnkbtnUp.Enabled = false;//不显示上一页按钮
        }
        if (curpage == ps.PageCount)
        {
            this.lnkbtnNext.Enabled = false;//不显示下一页
            this.lnkbtnBack.Enabled = false;//不显示最后一页
        }
        this.labBackPage.Text = Convert.ToString(ps.PageCount);
        dlName.DataSource = ps;
        //指定数据源中的键字段
        dlName.DataKeyField = "name";
        //绑定数据源
        dlName.DataBind();
    }

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值