posts - 4,  comments - 0,  trackbacks - 0
  2006年5月9日
开发过程中用到了DataGrid嵌套DataGrid的问题:
在嵌套的DataGrid里,怎么调用(包含模版非模版)编辑、删除功能。
===================================

在单个DataGrid的操作里对于模版或非模版的编辑删除都很容易实现的,特别是对于非模版的DataGrid,在属性生成器里点两下.cs文件就自动自成代码(感觉在玩VB)。然而对于嵌套在DataGrid或DataList里的DataGrid确没有这样的操作方法,要自行加入梆定代码。

把摸索过程粘贴出来大家看看!
----------------------------

主DataGrid名:dgM
嵌套Datagrid名:dgD

我们可以在界面拖入dgM时生成会在函数:
private void InitializeComponent()
{
   
this.dgM.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.dgM_ItemDataBound);
   this.Load += new System.EventHandler(this.Page_Load);
}

上面
绿色字段为VS.net自动生成的。但在嵌套的dgD里VS.net却没有这样的生成方法。唯有自己用动添加。而添加梆定方法不应该在dgM_ItemDataBound方法里添加(这里有个误区,自己就在这个误区里徘徊了许久),应该在dgM_ItemCreated方法里添加。如:
private void dgM_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
  {
   if ( e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem )
   {
    
dgDList = (DataGrid)e.Item.FindControl( "dgD" );
    dgDList.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler( this.dgD_ItemDataBound );
    dgDList.ItemCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.dgD_ItemCommand);

   }
  }
如果上面绿色代码是添加在dgM_ItemDataBound方法里,那么dgD_ItemCommand这样的命令是不能调用的。

现在可以加入dgD的梆定和操作方法了,如:
private void dgD_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
  {
        //.......
    }

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

另,根据代码的调试得出:
如果在PageLoad()中加入了如
if ( ! this.Page.IsPostBack )
   {
    this.BindData();
   }
这样的代码后,在DataGrid里用编辑、删除等操作时(即服务器控件),DataGrid是不再梆定的,即:DataGrid不再会执行_ItemDataBound这个方法。但_ItemCreated此方法却会执行。这就是为什么不把代码放于_ItemDataBound方法内的原因。

个人评语:
思路倒是对的,但是最后另附的那句话有待考证!
posted @ 2006-05-09 16:58 全新2006 阅读(369) 评论(0) 编辑
  2006年5月8日
    习惯了把Form放在紧靠Body标签之后,几乎一个Form包括了所有的Table,这样会影响Post的时间码?Why?查查...
posted @ 2006-05-08 17:03 全新2006 阅读(37) 评论(0) 编辑
DataGrid正反向排序
http://dev.csdn.net/develop/article/26/26817.shtm

DataGrid删除确认及Item颜色交替
http://dev.csdn.net/develop/article/26/26768.shtm

DataGrid常见解决方案(三)--在DataGrid中选择,确认,删除多行复选框列表
http://dev.csdn.net/develop/article/26/26613.shtm

使用DataGrid动态绑定DropDownList
http://dev.csdn.net/develop/article/26/26590.shtm

DataGrid在分页状态下删除纪录的问题
http://dev.csdn.net/develop/article/26/26589.shtm

怎样使用DataGrid控件
http://dev.csdn.net/develop/article/26/26459.shtm

DataGrid Web控件深度历险(3) part1
http://dev.csdn.net/develop/article/26/26249.shtm

DataGrid Web控件深度历险(3) part2
http://dev.csdn.net/develop/article/26/26250.shtm

DataGrid Web控件深度历险(3) part3
http://dev.csdn.net/develop/article/26/26403.shtm

datagrid分页《非控件版》
http://dev.csdn.net/develop/article/26/26002.shtm

datagrid分页问题(前后跳页)《控件版》
http://dev.csdn.net/develop/article/26/26001.shtm

DataGrid Web控件深度历险(2) Part1
http://dev.csdn.net/develop/article/25/25948.shtm

DataGrid Web控件深度历险(1)
http://dev.csdn.net/develop/article/25/25816.shtm

DataGrid Web控件深度历险(2) Part2
http://dev.csdn.net/develop/article/25/25949.shtm

如何在DataGrid里面产生滚动条而不滚动题头
http://dev.csdn.net/develop/article/25/25538.shtm

使用在.net 框架上的DataGrid數據分頁控件
http://dev.csdn.net/develop/article/25/25474.shtm

将某一目录下的所有相同格式的 XML文件绑定到不同的DataGrid
http://dev.csdn.net/develop/article/25/25469.shtm

DataGrid连接Access的快速分页法(5)——实现快速分页
http://dev.csdn.net/develop/article/25/25294.shtm

DataGrid连接Access的快速分页法(4)——动态生成SQL语句
http://dev.csdn.net/develop/article/25/25293.shtm

DataGrid连接Access的快速分页法(3)——SQL语句的选用(降序)
http://dev.csdn.net/develop/article/25/25291.shtm

DataGrid连接Access的快速分页法(2)——SQL语句的选用(升序)
http://dev.csdn.net/develop/article/25/25290.shtm

DataGrid连接Access的快速分页法(1)——需求与现状
http://dev.csdn.net/develop/article/25/25288.shtm

显示DataGrid序号的一个适用的方法
http://dev.csdn.net/develop/article/25/25113.shtm

常见 Datagrid 错误(other)
http://dev.csdn.net/develop/article/24/24460.shtm

XP 风格的可拖动列、可排序、可改变宽度的DataGrid的例子
http://dev.csdn.net/develop/article/24/24441.shtm

利用radio实现Datagrid的单选
http://dev.csdn.net/develop/article/24/24295.shtm

重画系列:DataGridColumnStyle之测试代码
http://dev.csdn.net/develop/article/24/24191.shtm

将OleDbDataAdapter绑定到Winform下的DataGrid
http://dev.csdn.net/develop/article/24/24148.shtm

去除Asp:DataGrid中无用ViewState的方法(2)
http://dev.csdn.net/develop/article/23/23671.shtm

去除Asp:DataGrid中无用ViewState的方法(1)
http://dev.csdn.net/develop/article/23/23670.shtm

datagrid保存时无法提交更新的问题
http://dev.csdn.net/develop/article/23/23376.shtm

将DBF,XLS,XML,MDB文件导入C#DataGrid的方法
http://dev.csdn.net/develop/article/23/23036.shtm

动态创建DataGrid的模版列
http://dev.csdn.net/develop/article/22/22942.shtm

DataTable中数据记录的统计
http://dev.csdn.net/develop/article/22/22710.shtm

(ASP.NET)用动态属性和DataView实现DataGrid的双向排序
http://dev.csdn.net/develop/article/22/22513.shtm

如何同步滚动两个相同的DataGrid
http://dev.csdn.net/develop/article/22/22438.shtm

asp.net中DataGrid性能测试
http://dev.csdn.net/develop/article/22/22405.shtm

让Asp.NET的DataGrid可排序、可选择、可分页
http://dev.csdn.net/develop/article/22/22297.shtm

DataGrid传统分页方式
http://dev.csdn.net/develop/article/21/21997.shtm

在后代码里创建DataGrid控件
http://dev.csdn.net/develop/article/21/21934.shtm

实现类似Windows资源管理器的DataGrid
http://dev.csdn.net/develop/article/21/21933.shtm

ASP.net中的Datagrid自定义分页功能
http://dev.csdn.net/develop/article/21/21875.shtm

在Pocket PC应用程序中使用DataGrid控件
http://dev.csdn.net/develop/article/21/21844.shtm

创建可拖动列的DataGrid(2)
http://dev.csdn.net/develop/article/21/21594.shtm

创建可拖动列的DataGrid
http://dev.csdn.net/develop/article/21/21593.shtm

DataGrid和CheckBox的混合使用
http://dev.csdn.net/develop/article/21/21585.shtm

利用Session纪录datagrid模板列中CheckBox的状态
http://dev.csdn.net/develop/article/21/21294.shtm

DataGrid模板列中TextBox的焦点相应键盘事件
http://dev.csdn.net/develop/article/21/21290.shtm

给DataGrid添加确定删除的功能
http://dev.csdn.net/develop/article/20/20892.shtm

如何给DataGrid添加自动增长列
http://dev.csdn.net/develop/article/20/20887.shtm

如何利用RadioButtonList实现datagrid列的单选
http://dev.csdn.net/develop/article/20/20789.shtm

锦上添花DataGrid!
http://dev.csdn.net/develop/article/20/20770.shtm

ASP.Net WebMatrix中Datagrid使用模板列对数据显示进行排版
http://dev.csdn.net/develop/article/20/20576.shtm

格式化 DataGrid 输出
http://dev.csdn.net/develop/article/20/20307.shtm

如何实现单击在DATALIST(DATAGRID)的HEADER加入的CHECKBOX,进行DATALIST(DATAGRID)中的CHECKBOX列全选或全不选
http://dev.csdn.net/develop/article/20/20290.shtm

向datagrid中加横向 纵向的合计 (在datatable中实现,datatable间倒数据)
http://dev.csdn.net/develop/article/20/20221.shtm

基于ADO+Adodc控件+DataGrid控件制作的一个数据库编辑程序(完整原程序)
http://dev.csdn.net/develop/article/19/19600.shtm

如何实现自定义及自动逐页打印DataGrid显示的内容
http://dev.csdn.net/develop/article/19/19353.shtm

合并datagrid中内容相同的单元格
http://dev.csdn.net/develop/article/19/19122.shtm

创建固定表头、表格体滚动的DataGrid
http://dev.csdn.net/develop/article/18/18972.shtm

创建跨多列、多行表头的DataGrid
http://dev.csdn.net/develop/article/18/18971.shtm

在DataGrid中添加一个合计字段
http://dev.csdn.net/develop/article/18/18856.shtm

在DataGrid里添加确认删除的对话框
http://dev.csdn.net/develop/article/18/18838.shtm

为DataGrid添加自动编号功能
http://dev.csdn.net/develop/article/18/18783.shtm

格式化DataGrid的例子【将数据源中的0,1值转换成实际的文字】
http://dev.csdn.net/develop/article/18/18782.shtm

Henry手记—Web Form中的Datagrid的自定义分页
http://dev.csdn.net/develop/article/18/18760.shtm

创建完全可编辑的 DataGrid
http://dev.csdn.net/develop/article/18/18744.shtm

DataGrid控件通用打印类
http://dev.csdn.net/develop/article/18/18711.shtm

为DataGrid添加CheckBox控件
http://dev.csdn.net/develop/article/18/18615.shtm

VB.NET中关于DataGrid颜色的自定义
http://dev.csdn.net/develop/article/18/18512.shtm

在DataGrid快速添加新行
http://dev.csdn.net/develop/article/18/18487.shtm

Henry手记-Datagrid事件响应(二)
http://dev.csdn.net/develop/article/18/18315.shtm

datagrid技巧之一:代码控制选中行的颜色
http://dev.csdn.net/develop/article/17/17852.shtm

在C#里实现DATAGRID的打印预览和打印
http://dev.csdn.net/develop/article/17/17851.shtm

Binding a DataGrid to an ADO Recordset
http://dev.csdn.net/develop/article/17/17850.shtm

Creating DataGrid Templated Columns Dynamically - Part II
http://dev.csdn.net/develop/article/17/17846.shtm

Creating DataGrid Templated Columns Dynamically - Part I
http://dev.csdn.net/develop/article/17/17845.shtm

DataTable,DataView和DataGrid中一些容易混淆的概念
http://dev.csdn.net/develop/article/17/17840.shtm

动态的管理ASP.NET DataGrid数据列
http://dev.csdn.net/develop/article/17/17599.shtm

Henry手记-Datagrid键盘事件响应(二)
http://dev.csdn.net/develop/article/17/17424.shtm

Henry手记—从Datagrid的标题居中说起
http://dev.csdn.net/develop/article/17/17053.shtm

用嵌套的DataGrid实现主从式表的显示
http://dev.csdn.net/develop/article/16/16960.shtm

DataGrid中嵌套使用Repeater
http://dev.csdn.net/develop/article/16/16834.shtm

Henry手记 - Datagrid键盘事件响应(一)
http://dev.csdn.net/develop/article/16/16572.shtm

posted @ 2006-05-08 10:13 全新2006 阅读(904) 评论(0) 编辑
  2006年5月6日

 

posted @ 2006-05-06 17:03 全新2006 阅读(49) 评论(0) 编辑