ASP.NET中关于GridView使用的几个问题

时间: 2008-05-24 / 分类: 学习心得 / 浏览次数: 1,312 views / 0个评论 发表评论

研究了一天的.NET,解决了几个GridView使用上的问题,还正是挺麻烦的。

①GridView嵌套GridView的应用

   
这个主要是在外层GridView设置一下属性OnRowDataBound=GridView1_RowDataBound,然后在代码里面的GridView1_RowDataBound方法中,进行如下操作:

protected void
GridView1_RowDataBound(object sender,GridViewRowEventArgs e)
{
    if
(e.Row.RowType == DataControlRowType.DataRow)
    {
       
string type = e.Row.Cells[0].Text;
       
titlesTypeTableAdapter titlesType = new
titlesTypeTableAdapter();
       
((GridView)e.Row.Cells[1].FindControl(GridView4)).DataSource

               
=titlesType.GetPub_idByType(type);
       
((GridView)e.Row.Cells[1].FindControl(GridView4)).DataBind();

    }
}

当然了具体取得所在行的方法并不一定如此,只要能够实现就可以了。上面的代码是网上直接copy来的,具体实现的时候也并不是这样的,因为我的数据是动态绑定的,还是有些出入的。

②GridView嵌套使用DetailsView

   
为了显示详细信息,我尝试使用了DetailsView,本来是要使用FormView的,不过我发现DetailsView好像更加但一些,而且更加符合我的要求。同上面的嵌套GridView相同,也需要在使用的时候在外层GridView的OnRowDataBound属性对应方法中在操作的行中FindControl,代码与上面类似。

   
应用的时候如果要显示所有的数据,只需要设置AutoGenerateRows=True就可以了,否则设置为=False,并且添加自己所需要的列就可以了。

    用法其实很简单,只是从不会到会总需要一个过程。

③获取GridView模板列里面TextBox的值、Button的方法

   
为了直接在GridView里面添加信息并且插入数据库,我添加了一个模板列,在里面放置了一个TextBox和一个Button。因为对模板列的操作不是很熟悉,颇费了一番周折终于弄好了。

   
在Button的OnClick事件中,得到传递消息的对象,就是按钮,然后通过Parent找到对应的GridView行,在通过FindControl,就可以取得TextBox的值。代码如下:

           
Button btn = (Button)sender;
           
GridViewRow gvr = (GridViewRow)btn.Parent.Parent;
           
string index = gvr.Cells[0].Text.Trim();

           
TextBox text =
(TextBox)gvr.Cell[8].FindControl(TextBox1);

           
string txt = text.Text.Trim();

④收藏几篇文章,这次没用到,但是觉得肯定会用得到:

SQL重复记录处理(查找,过滤,删除)

如何取得GridView被隐藏列的值

ASP.NET2.0 新增控件-BulletedList

在ASP.NET
2.0中操作数据:使用FormView 的模板


===================爱国抗震分割线=================


分享:香港艺人四川大地震赈灾主题曲《承诺》完整MV
 


震惊:汶川大地震已造成51151人遇难29328人失踪
 


哀悼与团结的曲线--转自谷歌黑板报


两岸三地:四川地震赈灾晚会


转发:5月19,有这样一个乞丐
 


国难日,一起哀悼!
 


汶川地震:我们继续期待奇迹的发生
 


谨借此片献给抗震救灾的战友们:谭晶《兵》
 


[为注震区孤儿捐款]MSN 彩虹行动:一切为了孩子们
 


译言翻译《地震搜救手册》&《地震安全手册》
 


灾难还在继续,请伸出你的援助之手


心系灾区,为震区同胞祈福!
 


博客订阅(RSS FEED)
 



使用 JavaScript 更新 UpdatePanel
 


GridView里面的HyperLink和ButtonField操作总结


又解决了几个问题:DropdownList和UpdatePanel


GridView.RowDeleting 事件
 


[ASP.NET 2.0]关于GridView的一些操作
 


CSS真的很好很强大


解析SQLServer事务日志压缩与删除的方法


IIS + ASP.NET 2.0调试过程
 


[ASP.NET]Response.Redirect转到页面并刷新
 

分享 |

发表评论

您的昵称 *

您的邮箱 *

您的网站