DataGrid的几个小技巧!

原创 2004年10月25日 13:47:00

方法一:使用模版列

我们在绑定好数据的DataGrid增加一个模版列,在列中放置一个按钮
<asp:TemplateColumn>
<ItemTemplate>
<asp:Button id="btnDelete" runat="server" Text="删除"></asp:Button>
</ItemTemplate>
</asp:TemplateColumn>
然后我们在DataGrid的ItemDataBound中添加以下代码
switch(e.Item.ItemType)
{
case(ListItemType.Item):
case(ListItemType.AlternatingItem):
{
Button btn=(Button)e.Item.FindControl("btnDelete");
btn.Attributes.Add("OnClick","return window.confirm('fs')");
break;
}
}
DataGrid在绑定数据的时候将触发此事件,而且每行触发一次.我们可以通过e.Item获得行,而通过e.Item.ItemType获得行类型.

方法二:使用按钮列

我们在绑定好数据的DataGrid增加一个删除按钮列
<asp:ButtonColumn Text="删除" CommandName="Delete"></asp:ButtonColumn>
然后我们在DataGrid的ItemDataBound中添加以下代码
switch(e.Item.ItemType)
{
case(ListItemType.Item):
case(ListItemType.AlternatingItem):
{
LinkButton btn=(LinkButton)e.Item.Cells[4].Controls[0];
btn.Attributes.Add("OnClick","return window.confirm('fs')");
break;
}
}
可以看到我们这里获得控件引用的方法有所不同,使用了e.Item.Cells[4].Controls[0],而没有使用e.Item.FindControl("btnDelete"),因为我


们现在使用的是按钮列,不能对按钮列的按钮设置ID属性,而FindControl是通过ID来查找控件(当然我们也可以把前面的代码用


e.Item.Cells[4].Controls[0]的代码来替换.).

 

添加序号列

绑定好一个DataGrid
switch(e.Item.ItemType)
{
case(ListItemType.Item):
case(ListItemType.AlternatingItem):
{
DataGridItem row=(DataGridItem)e.Item;
TableCell cell=new TableCell();
cell.Controls.Add(new LiteralControl((e.Item.ItemIndex+1).ToString()));
row.Cells.AddAt(0,cell);
break;
}
case(ListItemType.Header):
{
DataGridItem row=(DataGridItem)e.Item;
TableCell cell=new TableCell();
cell.Controls.Add(new LiteralControl("序号"));
row.Cells.AddAt(0,cell);
break;
}
}
这里我们用到了e.Item.ItemIndex,获取来自 DataGrid 控件的 Items 集合的 DataGridItem 对象的索引.


产生两行的标题行

绑定好一个DataGrid,设置允许分页,设置页导航为上下型,一会我们将强制把上面的页导航更换成标题行.这里我想讲一下DataGrid的行构成
最上面Pager,用来放置分页导航,然后是表头Header,接着是Item和AlternatingItem项目和交替项目(当然还有SelectedItem选中项和EditItem


编辑项等),然后是Footer表脚,最下面还有一个Pager.因为Pager行是系统自动产生的,所以在ItemDataBound事件中不能捕获此行,这里我使用了


ItemCreated事件,添加代码如下
switch(e.Item.ItemType)
{
case(ListItemType.Pager):
{
if(first)
{
DataGridItem row=(DataGridItem)e.Item;
row.Cells.Clear();
TableCell cell0=new TableCell();
cell0.Controls.Add(new LiteralControl("ID"));
TableCell cell1=new TableCell();
cell1.ColumnSpan=2;
cell1.Controls.Add(new LiteralControl("FullName"));
row.Cells.Add(cell0);
row.Cells.Add(cell1);
}
first=!first;
break;
}
}
这里的First用来判断是上面的Pager还是下面的Pager.

 


 

 

DataGrid的几个小技巧

删除时给出提示方法一:使用模版列我们在绑定好数据的DataGrid增加一个模版列,在列中放置一个按钮然后我们在DataGrid的ItemDataBound中添加以下代码switch(e.Item.It...
  • fhgok
  • fhgok
  • 2005年04月09日 00:09
  • 334

DataGrid的几个小技巧

DataGrid的几个小技巧 删除时给出提示方法一:使用模版列我们在绑定好数据的DataGrid增加一个模版列,在列中放置一个按钮asp:TemplateColumn>ItemTemplate>asp...
  • chenhongwu
  • chenhongwu
  • 2006年10月26日 21:43
  • 275

DataGrid的几个小技巧

作者:网际浪子专栏(曾用名littlehb)  http://blog.csdn.net/littlehb/方法一:使用模版列我们在绑定好数据的DataGrid增加一个模版列,在列中放置一个按钮然后我...
  • 21aspnet
  • 21aspnet
  • 2004年10月26日 19:37
  • 1706

批量改名六大神技

批量改名六大神技shell实例1:改名指令rename的用法如下:[root@ChangerLee 批量改名]# touch file_{1..10}[root@ChangerLee 批量改名]# l...
  • ChangerJJLee
  • ChangerJJLee
  • 2016年08月11日 08:04
  • 332

怎么给esayUI datagrid列设置背景色或字的颜色.

columns : [ [ { title : "活动标题", field : "title", styler: function (value, row, index) {       ...
  • qinyf2015
  • qinyf2015
  • 2017年09月26日 16:04
  • 169

DataGrid小技巧

//添加删除确认对话框:private void DataGrid1_ItemDataBound(   ){   switch(e.Item.ItemType)   {    case ListIte...
  • litp
  • litp
  • 2004年09月17日 20:14
  • 1501

DataGrid的小技巧1

经过一个月来的学习,我总结了用过的几个有关于DataGrid的小技巧:1.       为每列绑定相应的ToolTip,让其显示相关的信息。(如图)实现代码:                     ...
  • yx10
  • yx10
  • 2005年06月08日 14:31
  • 967

DataGrid的小技巧

方法一:使用模版列我们在绑定好数据的DataGrid增加一个模版列,在列中放置一个按钮然后我们在DataGrid的ItemDataBound中添加以下代码switch(e.Item.ItemType)...
  • gengxc
  • gengxc
  • 2006年10月27日 14:36
  • 477

Linux小技巧收集

 原贴地址:http://blog.chinaunix.net/u/26011/showart.php?id=364841 ...
  • chinalinuxzend
  • chinalinuxzend
  • 2007年08月28日 12:53
  • 8284

DataGrid的几个小技巧!(包括:使用模版列;使用按钮列;)

方法一:使用模版列我们在绑定好数据的DataGrid增加一个模版列,在列中放置一个按钮然后我们在DataGrid的ItemDataBound中添加以下代码switch(e.Item.ItemType)...
  • zsulwq0915
  • zsulwq0915
  • 2007年05月14日 16:31
  • 337
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:DataGrid的几个小技巧!
举报原因:
原因补充:

(最多只允许输入30个字)