会员
周边
众包
新闻
博问
闪存
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
玄新-术业有专攻
ASP.NET程序中常用的三十三种代码(23-28)
23
.在DataGrid中有3个模板列包含Textbox分别为 DG_ShuLiang (数量) DG_DanJian(单价) DG_JinE(金额)分别在5.
6
.7列,要求在录入数量及单价的时候自动算出金额即:数量
*
单价
=
金额还要求录入时限制为 数值型.我如何用客户端脚本实现这个功能
?
〖思归〗
<asp:TemplateColumn HeaderText
=
"
数量
"
>
<ItemTemplate>
<asp:TextBox id
=
"
ShuLiang
"
runat
=
’server’ Text
=
’<
%
# DataBinder.Eval(Container.DataItem,
"
DG_ShuLiang
"
)
%
>’
onkeyup
=
"
javascript:DoCal()
"
/
>
<asp:RegularExpressionValidator id
=
"
revS
"
runat
=
"
server
"
ControlToValidate
=
"
ShuLiang
"
ErrorMessage
=
"
must be integer
"
ValidationExpression
=
"
^\d+$
"
/
>
<
/
ItemTemplate>
<
/
asp:TemplateColumn>
<asp:TemplateColumn HeaderText
=
"
单价
"
>
<ItemTemplate>
<asp:TextBox id
=
"
DanJian
"
runat
=
’server’ Text
=
’<
%
# DataBinder.Eval(Container.DataItem,
"
DG_DanJian
"
)
%
>’
onkeyup
=
"
javascript:DoCal()
"
/
>
<asp:RegularExpressionValidator id
=
"
revS2
"
runat
=
"
server
"
ControlToValidate
=
"
DanJian
"
ErrorMessage
=
"
must be numeric
"
ValidationExpression
=
"
^\d+(\.\d*)?$
"
/
>
<
/
ItemTemplate>
<
/
asp:TemplateColumn>
<asp:TemplateColumn HeaderText
=
"
金额
"
>
<ItemTemplate>
<asp:TextBox id
=
"
JinE
"
runat
=
’server’ Text
=
’<
%
# DataBinder.Eval(Container.DataItem,
"
DG_JinE
"
)
%
>’
/
>
<
/
ItemTemplate>
<
/
asp:TemplateColumn><script language
=
"
javascript
"
>
function DoCal()
{
var e
=
event
.srcElement;
var row
=
e.parentNode.parentNode;
var txts
=
row.all.tags(
"
INPUT
"
);
if
(
!
txts.length
||
txts.length <
3
)
return
;
var q
=
txts[txts.length
-
3
].value;
var p
=
txts[txts.length
-
2
].value;
if
(isNaN(q)
||
isNaN(p))
return
;
q
=
parseInt(q);
p
=
parseFloat(p);
txts[txts.length
-
1
].value
=
(q
*
p).toFixed(
2
);
}
<
/
script>
24
.datagrid选定比较底下的行时,为什么总是刷新一下,然后就滚动到了最上面,刚才选定的行因屏幕的关系就看不到了。
page_load
page.smartNavigation
=
true
25
.在Datagrid中修改数据,当点击编辑键时,数据出现在文本框中,怎么控制文本框的大小
?
private
void
DataGrid1_ItemDataBound(obj sender,DataGridItemEventArgs e)
{
for
(
int
i
=
0
;i<e.Item.Cells.Count
-
1
;i
++
)
if
(e.Item.ItemType
==
ListItemType.EditType)
{
e.Item.Cells[i].Attributes.Add(
"
Width
"
,
"
80px
"
)
}
}
26
.对话框
private
static
string
ScriptBegin
=
"
<script language=\
"
JavaScript\
"
>
"
;
private
static
string
ScriptEnd
=
"
</script>
"
;
public
static
void
ConfirmMessageBox(
string
PageTarget,
string
Content)
{
string
ConfirmContent
=
"
var retValue=window.confirm(’
"
+
Content
+
"
’);
"
+
"
if(retValue){window.location=’
"
+
PageTarget
+
"
’;}
"
;
ConfirmContent
=
ScriptBegin
+
ConfirmContent
+
ScriptEnd;
Page ParameterPage
=
(Page)System.Web.HttpContext.Current.Handler;
ParameterPage.RegisterStartupScript(
"
confirm
"
,ConfirmContent);
//
Response.Write(strScript);
}
27
. 将时间格式化:
string
aa
=
DateTime.Now.ToString(
"
yyyy年MM月dd日
"
);
1.1
取当前年月日时分秒
currentTime
=
System.DateTime.Now;
1.2
取当前年
int
年
=
DateTime.Now.Year;
1.3
取当前月
int
月
=
DateTime.Now.Month;
1.4
取当前日
int
日
=
DateTime.Now.Day;
1.5
取当前时
int
时
=
DateTime.Now.Hour;
1.6
取当前分
int
分
=
DateTime.Now.Minute;
1.7
取当前秒
int
秒
=
DateTime.Now.Second;
1.8
取当前毫秒
int
毫秒
=
DateTime.Now.Millisecond;
28
.自定义分页代码:
先定义变量 :
public
static
int
pageCount;
//
总页面数
public
static
int
curPageIndex
=
1
;
//
当前页面
下一页:
if
(DataGrid1.CurrentPageIndex < (DataGrid1.PageCount
-
1
))
{
DataGrid1.CurrentPageIndex
+=
1
;
curPageIndex
+=
1
;
}
bind();
//
DataGrid1数据绑定函数
上一页:
if
(DataGrid1.CurrentPageIndex >
0
)
{
DataGrid1.CurrentPageIndex
+=
1
;
curPageIndex
-=
1
;
}
bind();
//
DataGrid1数据绑定函数
直接页面跳转:
int
a
=
int
.Parse(JumpPage.Value.Trim());
//
JumpPage.Value.Trim()为跳转值
if
(a<DataGrid1.PageCount)
{
this
.DataGrid1.CurrentPageIndex
=
a;
}
bind();
posted on
2006-12-19 10:58
玄新
阅读(
168
) 评论(
0
)
编辑
收藏
举报
会员力量,点亮园子希望
刷新页面
返回顶部
导航
博客园
首页
联系
管理