您的位置:首页 > 编程语言 > ASP

asp.net 拾遗 格式化字符串 DataGrid里面查找控件 灵活使用FooterTemplate

2007-04-15 14:03 573 查看
格式化字符串

DataFormatString="{0:P}" //自动转换为百分数

DataFormatString="{0:#.##}"//保留两位小数

参考:http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconFormattingOverview.asp

在DataGrid里面查找控件

databound事件中使用e.Item.Cells[i].Controls[j] ,e.Item.FindControl(""))

ItemCommand事件中同上 或者使用DataGrid1.Items[0].Cells[0].Controls[0]); 注意都要强制转换制定控件类型.

e.Item.Cells[0].Text只能取到boundcolumn的值,且在ItemCommand里面取不到值.

如果有页面初始化时有数据绑定,则写在!Page.IsPostBack里,不然每次点击一个按钮时都会重新加载数据,可能会取不到输入控件的值.

在 使用Anthem.net的时候,虽然前端页面是不刷新的,但服务器端的cs代码依然按Page的生命周期依次执行.当然Page_Load里面的事件也 会执行.所以在传递数据时要用hidden字段或session等方法变通处理,善用Page.IsPostBack.

建议使用模版列 实现编辑,更新,取消按钮.ItemCommand、CancelCommand、DeleteCommand、EditCommand、 UpdateCommand执行时首先触发ItemCommand事件,然后触发他们的专有事件.可以通过按钮的CommandName方便地实现系统自 带编辑按钮的功能. 这个按钮如果出现代码重复执行两边的情况,应该检查是否在datagrid 标签中写有OnEditCommand 等事件,且在InitializeComponent中又绑定了一遍事件.两者选其一就可以了.

dataList.EditItemIndex = e.Item.ItemIndex;//首先赋值然后绑定

dataList.DataSource = TestData;

dataList.DataBind();

灵 活使用FooterTemplate .如果想在datagrid,datalist控件每页的下方显示一个空行,用来添加内容,那么用FooterTemplate是最佳选择.当 datagrid中数据源得到的datatable为空时,就只显示FooterTemplate中的控件,用户可以直接输入数据来新增内容.操作很便 捷.

e.Item.Cells[0].Attributes.Add("style","cursor:hand;");当鼠标移到单元格时显示手型图标

弹出一个不允许改变大小的模式窗口,然后动态改变其大小

function Resize_dialog(t,l,w,h)

{

if (typeof(window.dialogHeight)!="#ff0000")

{

window.dialogTop = t+"px;"

window.dialogLeft = l+"px;"

window.dialogHeight = h+"px;"

window.dialogWidth = w+"px;"

}

}

function Open_dialog(urls,w,h)

{

showModalDialog(urls,window,'edge: Raised; center: Yes; help: Yes; resizable: No; status: No;dialogHeight:'+h+'px;dialogWidth:'+w+'px');

}

tab多标签窗口显示,仿windows窗口风格:http://bbs.blueidea.com/thread-2606562-1-1.html

Created by jecray
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: