在GridView的Cells中使用Dropdownlist

GridView Cells 中使用 Dropdownlist , 利用如下方法  :

 

设计  gridView    :

< asp:gridView ID = “grd_info” …………………………..>

   <Colunms>

    ………………………some code…………………………..

  //  Columns[3]

<   asp   :   BoundField   DataField   ="SYSTEM_ADMIN"   HeaderText   =" 管理权限 "    Visible   ="true">

       <   ItemStyle   Width   ="100px"   />

</   asp   :   BoundField   >

//  Columns[   4   ]

<   asp   :   TemplateField      HeaderText   =" 管理权限 "   Visible   ="true">

       <   ItemTemplate   >

            <   asp   :   DropDownList   ID   ="LST_SYSTEM_ADMIN"   runat   ="server"   Width   ="100px">

                <   asp   :   ListItem   Value   ="0">  No </   asp   :   ListItem   >   //   定义   Dropdownlist   的下拉条   1

                <   asp   :   ListItem   Value   ="1">  Yes </   asp   :   ListItem   >       //   定义   Dropdownlist   的下拉条   2

            </   asp   :   DropDownList   >

         </   ItemTemplate   >

     </   asp   :   TemplateField   >

     ………………………some code…………………………..

     </Colunms> 

< /asp:gridView

 

绑定  DB   : [C#]

this   .grd_info.DataSource = _d0402.getEmp_info(dptNo); //   检索   DB

grd_info.Columns[4].Visible =  true  ;

grd_info.Columns[3].Visible =  true  ;

this   .grd_info.DataBind();

//   按行为每个 Dropdownlist 设定值   .

foreach   ( GridViewRow  grdRow  in  grd_info.Rows)

{

    try

{

(( DropDownList  )(grdRow.Cells[4].FindControl( "LST_SYSTEM_ADMIN"  ))).SelectedIndex =  Convert  .ToInt16(grdRow.Cells[3].Text);

   }

    catch  ( Exception  ex)

   {

       ExceptionHandler  .HandleException(ex);

   }

}

grd_info.Columns[3].Visible =  false  ;

 

基本思想 Columns[3] DB 绑定 , Columns[ 4 ] 则依据 Columns[3] 的改变而改变 . 也就是说 Columns[ 4 ] 并没有和 DB 绑定 , 所以在显示时 , 根据需要使 Columns[3] . Visual false,   Columns[ 4 ] . Visual 的值为 true.

 

总结   :

1.        用一临时行 ( Columns[3] ) 来存从 DB 中检索出来的值

2.        用不与 DB 绑定的 Dropdownlist 和临时行绑定 , 显示 DB 内容 .

3.        设置临时行不可见 , Dropdownlist 可见 .

4.        按行为 Dropdownlist 设定值 .

 

当然,还有其他方法 , 有待总结 .

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

 

2008 11 12

全文完.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值