Using DataGrid(attitude of mine)[原创]

类别:Asp 点击:0 评论:0 推荐:

                                 Using DataGrid(attitude of mine)

                                                                               Author:香水坏坏 Date:04-12-30 凌晨

                                                                                    如有转载:请著名出处,TKS!

A、简介
DataGrid 位于System.Web.UI.WebControls名称空间下;在using此名称空间的时候,请确定 你是否在当前的项目的引用里 添加了System.Web.DLL 这个 assemble(程序集)

B、主题
这片文章里我将把我对DataGrid的一些初步认识与大家分享以及怎样在DataGrid的Colums binding CheckBoxList控件[以此类推,大家可以很轻松bind其他的WebControls]。

C、Some importants pionts
必须了解的事件:
DataGrid.ItemDataBound:在数据bind后发生
几个类:
DataGridItem: 表示一行数据,同时DataGrid.Items 就是DataGridItem的集合
TableCell:表示一个表格的单元格
DataGridItemEventArgs: 从EventArgs继承

D、实现
private void DataGrid1_ItemDataBound(object sender, DataGridItemEventArgs e)
  {
   

   DataGridItem item = e.Item;   //获取当前行的,即DataGridItem
    
   int id = int.Parse(item.Cells[0].Text); //获取相关查询的数据库的关键字,这里我把一个id存在第一列
                                                   

    CheckBoxList productsList;  //申明一个CheckBoxList变量
    productsList = new CheckBoxList(); //实例一个CheckBoxList对象
    
    DataTable products = ProductAccessor.GetProducts( id ); //根据取的id查询数据库
               
    for ( int i = 0 ; i < products.Rows.Count ; i++ )
    {
     ListItem listItem = new ListItem(); //申明并实例一个ListItem
     listItem.Value = products.Rows[i][0].ToString();
     listItem.Text = products.Rows[i][1].ToString();
     if ( products.Rows[i][2].ToString() == "1" )
      listItem.Selected = true;
     productsList.Items.Add( listItem );  //把ListItem 添加到 CheckBoxList中去
    }

    productsList.SelectedIndexChanged +=new EventHandler(productsList_SelectedIndexChanged);
   
    productsList.AutoPostBack = true;

    item.Cells[1].Controls.Add( productsList );  //把CheckBoxList添加到当前行的 第二个单元格去

   }

  }

E 、
至此,我们已经完成了把CheckBoxList添加DataGrid的主要工作,看看我们的DataGrid是不是变的更人性化了呵呵!!!
嘎嘎,如果大家就这篇文章有什么疑问的话可以QQ25359952,I WILL VERY HAPPY TO HELP EVERYBOY。大家一起进步。

本文地址:http://com.8s8s.com/it/it7699.htm