<asp:panel style="overflow-x:scroll;overflow-y:auto;"></asp:panel>
回车转换成tab
<script language="javascript" for="document" event="onkeydown">
if(event.keycode==13 && event.srcelement.type!=’button’ && event.srcelement.type!=’submit’&& event.srcelement.type!=’reset’ && event.srcelement.type!=’’&& event.srcelement.type!=’textarea’);
event.keycode=9;
</script>
onkeydown="if(event.keycode==13) event.keycode=9"
datagrid行随鼠标变色
private void dgzf_itemdatabound(object sender, system.web.ui.webcontrols.datagriditemeventargs e)
{
if (e.item.itemtype!=listitemtype.header)
{
e.item.attributes.add( "onmouseout","this.style.backgroundcolor=\""+e.item.style["background-color"]+"\"");
e.item.attributes.add( "onmouseover","this.style.backgroundcolor=\""+ "#eff3f7"+"\"");
}
}
改变列的选定,实现全选或全不选。
protected void checkall_checkedchanged(object sender, system.eventargs e)
{
checkbox chkexport ;
if( checkall.checked)
{
foreach(datagriditem odatagriditem in mydatagrid.items)
{
chkexport = (checkbox)odatagriditem.findcontrol("chkexport");
chkexport.checked = true;
}
}
else
{
foreach(datagriditem odatagriditem in mydatagrid.items)
{
chkexport = (checkbox)odatagriditem.findcontrol("chkexport");
chkexport.checked = false;
}
}
}
数字格式化
【<%#container.dataitem("price")%>的结果是500.0000,怎样格式化为500.00?】
<%#container.dataitem("price","{0:¥#,##0.00}")%>
int i=123456;
string s=i.tostring("###,###.00");
日期格式化
【aspx页面内:<%# databinder.eval(container.dataitem,"company_ureg_date")%>
显示为: 2004-8-11 19:44:28
我只想要:2004-8-11 】
<%# databinder.eval(container.dataitem,"company_ureg_date","{0:yyyy-m-d}")%>
怎样作到hyperlinkcolumn生成的连接后,点击连接,打开新窗口?
hyperlinkcolumn有个属性target,将器值设置成"_blank"即可.(target="_blank")
datagrid选定比较底下的行时,为什么总是刷新一下,然后就滚动到了最上面,刚才选定的行因屏幕的关系就看不到了。
page_load
page.smartnavigation=true
在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")
}
}
asp.net的多行textbox随内容增加自动增高而不显示滚动条!
<td align=“center“ valign=“top“>
<asp:textbox id=”txtnews” runat=”server textmode=“multiline” readonly=true width=100% wrap=”true” style=”overflow-y:visible”></textbox>
</td>
[原创]asp.net中datagrid双行跨列表头设计心得!
一、datagrid的属性设置
1. allowpaging: true
2. pagestyle->position: topandbottom
3. 可选:pagestyle->horizonalign: center(使文本居中显示)
4. 可选:itemstyle->horizonalign: center(使文本居中显示)
二、代码部分
1.首先,使datagrid绑定数据库中某个表,例如:
private void page_load(object sender, system.eventargs e)
{
// 在此处放置用户代码以初始化页面
if(!ispostback)
{
sqlconnection myconn=new sqlconnection("server=localhost;uid=sa;pwd=sa;database=db_test");
sqldataadapter da=new sqldataadapter("select * from 个人",myconn);
dataset ds=new dataset();
da.fill(ds,"gr");
dggeren.datasource=ds.tables["gr"].defaultview;
dggeren.databind();
}
2.为datagrid添加itemcreated事件的处理函数、
3.为了判断datagrid中的两个(上下)pager的位置,我们可以使用一个全局变量来判断。
定义一个全局变量 private int m_createpagetimes = 0;
4.为datagrid的itemcreated事件的处理函数添加内容,如下:
private void dggeren_itemcreated(object sender, system.web.ui.webcontrols.datagriditemeventargs e)
{
switch(e.item.itemtype)
{
//case(listitemtype.pager):
case listitemtype.pager:
{
if(m_createpagetimes == 0)
{
datagriditem row=(datagriditem)e.item;
row.cells.clear();
//row.backcolor=color.navy; //背景色
//row.forecolor=color.red; //前景色
row.horizontalalign=horizontalalign.center;//使文本居中显示
tablecell cell0=new tablecell();
cell0.rowspan=2;
cell0.controls.add(new literalcontrol("姓名"));
tablecell cell1=new tablecell();
cell1.columnspan=2; //默认的columnspan值为1
cell1.text="住房地址信息";
//也可如此:cell1.controls.add(new literalcontrol("住房地址信息"));
//tablecell cell2=new tablecell();
//cell2.controls.add(new literalcontrol(""));
tablecell cell2=new tablecell();
cell2.rowspan=2;
cell2.text="出生日期";
row.cells.add(cell0);
row.cells.add(cell1);
row.cells.add(cell2);
m_createpagetimes++;
}
break;
}
case listitemtype.header:
{
datagriditem head=(datagriditem)e.item;
head.cells.clear();
//head.verticalalign=verticalalign.middle;
//head.horizontalalign=horizontalalign.center;
//tablecell cell00=new tablecell();
//cell00.rowspan=2;
//cell00.text="姓名";
tablecell cell01=new tablecell();
cell01.text="楼号";
tablecell cell02=new tablecell();
cell02.text="房号";
//tablecell cell03=new tablecell();
//cell03.text="出生日期";
//head.cells.add(cell00);
head.cells.add(cell01);
head.cells.add(cell02);
//head.cells.add(cell03);
break;
}
}
}
屏蔽ctrl-v
在winform中的textbox控件没有办法屏蔽ctrl-v的剪贴板粘贴动作,如果需要一个输入框,但是不希望用户粘贴剪贴板的内容,可以改用richtextbox控件,并且在keydown中屏蔽掉ctrl-v键,例子:
private void richtextbox1_keydown(object sender, system.windows.forms.keyeventargs e)
{
if(e.control && e.keycode==keys.v)
e.handled = true;
}

