DataGride绑定

1: 在DataGride中嵌套Button的运用

  修改的时候:修改的Button CommandNameEdit

  保存的时候:保存的Button CommandNameUpdate

  取消的时候:保存的Button CommandNameCancel

  取消的时候:保存的Button CommandNameDelete

  其中对应的事件为:

  private void  DataGrid1_CancelCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)         

    {

          this.DataGrid.EditItemIndex=-1;

       //在调用绑定方法

    }

-------------------------------------------------------

 private void  DataGrid1_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)        

    {

      this.DataGrid.EditItemIndex=e.Item.ItemIndex;

       //在调用绑定方法

    }

-------------------------------------------------------

 private void  DataGrid_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)

    {

           //写入其更新的方法

      this.DataGrid1.EditItemIndex=-1;

           //在调用绑定方法

    }

-------------------------------------------------------

 private void  DataGrid_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)

    {

           //写入删除的方法

          //在调用绑定方法

    }

----------------------------------------------------------------------------------

 2: 在DataGride中嵌套CheckBox的运用

 private void Button2_Click(object sender, System.EventArgs e)

    {

      for(int i=0;i<this.DataGrid.Items.Count;i++) 

        { 

            (1)CheckBox cb=(CheckBox)this.DataGrid.Items[i].FindControl ("CheckBox2");  //查找CheckBoxID

            (2)CheckBox box = (CheckBox)this.DataGrid.Items[i].Cells[5].FindControl("select1");//两者不同的是它取的是第几单元行的CheckBox

              if(cb.Checked) //是否选择

          {

                 this.DataGrid.Items[i].Cells[0].Text//单元格的值的时候必须绑定列

                                                        为模板列时,取不到值

                   //在调用其相应方法

                }

        }

         //在调用绑定方法

    }

--------------------------------------------------------

 3: 在DataGrideDataBuding的运用

  (1):用的是HyperLink

 <asp:HyperLink id=HyperLink2 runat="server" Width="134px" Text='<%# DataBinder.Eval(Container, "DataItem.Product_name") %>'                                                             NavigateUrl='<%# "lookcg.aspx?lookid="+(DataBinder.Eval(Container, "DataItem.Product_id")) %>'>                                                                            </asp:HyperLink>   //Text的文本类容Product_name

                   //NavigateUrl的链接Product_id

Text='<%# DataBinder.Eval(Container, "DataItem.Trade_downdate", "{0:MM}/{0:dd}") %>'>               //Text的文本类容Trade_downdate(时间)

                   //{0:yyyy-MM-dd HH24:mm:ss}(时间的格式)

--------------------------------------------------------

  (2):输入的时间

try

  { 

    if(DateTime.Parse(输入的时间,   System.Globalization.DateTimeFormatInfo.InvariantInfo)<DateTime.Now)

    {}//输入的时间要大于当前时间

    else

    {}//输入的时间正确

  }

catch

  {}//输入时间错误 

 ------------------------------------------------------

(3):HTML代码分析

<asp:datagrid CellPadding="3" BorderWidth="1px" ShowHeader="是否显示头"

BorderColor="#FEE8D1" PageSize="显示几页" AllowPaging="True" HorizontalAlign="Center" AutoGenerateColumns="False">                <SelectedItemStyle HorizontalAlign="Center"></SelectedItemStyle>

           //选择项HorizontalAlign为对其方式

    <EditItemStyle HorizontalAlign="Center"></EditItemStyle>

            //编辑项HorizontalAlign为对其方式

      <AlternatingItemStyle HorizontalAlign="Center" BackColor="SeaShell"></AlternatingItemStyle>

            //交替项HorizontalAlign为对其方式

    <ItemStyle HorizontalAlign="Center" Height="100px" VerticalAlign="Middle" BackColor="White"></ItemStyle>

             //普通项HorizontalAlign为对其方式

    <HeaderStyle HorizontalAlign="Left"></HeaderStyle>

             //DataGride头的其方式

    <FooterStyle HorizontalAlign="Center"></FooterStyle>

             //DataGride尾的其方式

    <Columns>  //DataGride行的开始

     <asp:BoundColumn Visible="不可见的" DataField="Product_id">//绑定列

     <HeaderStyle Width="1px"></HeaderStyle>                    <ItemStyle HorizontalAlign="Left" Width="1px" VerticalAlign="Top"></ItemStyle>                                        </asp:BoundColumn> 

 

    <asp:TemplateColumn>//模板列                            <HeaderStyle Width="110px"></HeaderStyle>   //头的宽度                <ItemStyle HorizontalAlign="Center" Width="110px" VerticalAlign="Middle">                       </ItemStyle>

 

    <ItemTemplate> //编辑

   <asp:Image class=bd_hui_all id=Image1 runat="server" Width="100px" ImageUrl='<%# DataBinder.Eval(Container, "DataItem.product_image2") %>' Height="80px">

       </asp:Image>

      </ItemTemplate>

    </asp:TemplateColumn>

----------------------------------------------------------                              

(4):自定义分页

  this.pages.Text = (this.DataGride.CurrentPageIndex + 1) + "/" +    this.DataGride.PageCount;//获取总页数除以一页显示几条信息

     this.DropDownList1.Items.Clear();

     for( int i = 1 ; i <= this.DataGride.PageCount; i++)

      {

        this.DropDownList1.Items.Add(new ListItem(""+i+"",i.ToString()));

      }

    this.DropDownList1.SelectedValue = Convert.ToString(this.DataGride.CurrentPageIndex + 1);

 ----------------------------------

LinkButton lb = (LinkButton)sender;

   switch (lb.ID)

    {

      case "lb1":

        this.DataGride.CurrentPageIndex = 0;

            break;

     case "lb2":

        if (this.DataGride.CurrentPageIndex > 0)

        this.DataGride.CurrentPageIndex -= 1;

        break;

    case "lb3":

          if (this.DataGride.CurrentPageIndex < (this.DataGride.PageCount - 1))

          this.DataGride.CurrentPageIndex += 1;

          break;

      case "lb4":

         this.DataGride.CurrentPageIndex = this.DataGride.PageCount - 1;

         break;

    }

----------------------------------------------------------------------------        4: 在DataGride中其它的运用

(1):上传文件

 FileInfo f1=new FileInfo(this.File3.PostedFile.FileName);

 string type1=f1.Extension.ToUpper();

 string dataName1=DateTime.Now.ToString("yyMMddhhmmss");

   if(this.File1.PostedFile.ContentLength > 500*1024)

    {} //文件过大

   else

    { 

    string path1=Server.MapPath("//以有的文件路径")+"_new"+ type1;

            //文件路径

       if(type1==".JPG"||type1==".GIF")//文件的格式

         {

        this.File1.PostedFile.SaveAs(path1);

        string image=""//数据库的文件路径

            }

      else

        {}                 

     }

------------------------------------------------

  (2):自动读取

       //要用服务器表

    SqlConnection con = new SqlConnection(DAL.SQLHelper.CONN_STRING);

    con.Open();

    SqlCommand com = new SqlCommand(sql,con);

    int getnumber=//第一个

       int allnumber=//最后一个

    SqlDataReader read = com.ExecuteReader();

       System.Web.UI.WebControls.TableRow tr = new TableRow();

    int i=getnumber;

    int s=0;//设置一行几个

    while(read.Read()&&i<allnumber)

     {    

      i=++i;

      System.Web.UI.WebControls.TableCell tc =new TableCell();

      this.LoadControl("entityproduct.ascx");//查找控件

      Label la =(Label)find.FindControl("id");

      la.Text=i.ToString();    

      if(DAL.DbConn.checkusers(nb))

        {  

        s++;

        string bigname= DAL.DbConn.getmima(sqlid);

        HyperLink hy =(HyperLink)find.FindControl("HyperLink1");

        hy.Text=bigname.ToString();

        hy.NavigateUrl=;

                string urls =DAL.DbConn.getmima(sqlurl);

        Image imagerul= (Image)find.FindControl("Image1");

        imagerul.ImageUrl=urls.ToString();

              tc.Controls.Add(find);

        tr.Controls.Add(tc);

        if(s%5==0)

            {

              this.服务器表.Rows.Add(tr);

              tr = new TableRow();

            }

        if(s%5!=0)

            {

              this.服务器表.Rows.Add(tr);

            }

           }

        }

      if(s>5)

        {

          this.服务器表.Rows.Add(tr);

          con.Close();

        }

            read.Close();

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值