【转】通过在RowDataBound事件中把行索引绑定到控件的CommandArgument,然后在RowCommand事件中取出...

it2022-05-09  31

代码 protected   void  GridView1_RowCommand( object  sender, GridViewCommandEventArgs e){     int  rowIndex  =   - 1 ;    GridViewRow row  =   null ;             switch  (e.CommandName)    {         case   " Command1 " //  模板列         //  对于模板列内的按钮,我们需要显示绑定行索引到按钮的 CommandArgument 属性         //  以获取触发事件的行信息          rowIndex  =  Convert.ToInt32(e.CommandArgument);         row  =  GridView1.Rows[rowIndex];                         DisplayInfo(row, e.CommandName);         //  your codes         //            break ;         case   " Command2 " //  模板列         //  同样处于模板列中,但不采用 Command1 方式,而是通过 NamingContrainer 属性         //  直接获取当前的 GridViewRow          Control cmdControl  =  e.CommandSource  as  Control;  //  表示触发事件的 IButtonControl,保持统一性并便于后续操作,我们这里直接转化为控件基类 Control          row  =  cmdControl.NamingContainer  as  GridViewRow;         DisplayInfo(row, e.CommandName);         //  your codes         //            break ;         case   " Command3 " //  绑定列         //  对于 ButtonField 列,数据源控件内部自动以适当的项索引值填充 CommandArgument 属性。         //  而无需我们显示绑定其 CommandArgument 属性                         //  注意,我们这里无法采用 Command2 的方式,对于 BUttonField 触发的事件,         //  GridViewCommandEventArgs.CommandSource 表示的包含此按钮的 GridView          rowIndex  =  Convert.ToInt32(e.CommandArgument);         row  =  GridView1.Rows[rowIndex];         DisplayInfo(row, e.CommandName);         //  your codes         //            break ;     }}

 

转载于:https://www.cnblogs.com/feima-lxl/archive/2010/12/07/1898553.html

相关资源:数据结构—成绩单生成器

最新回复(0)