战剑网络,网站建设,系统开发,程序设计

搜索Top
ASP.NET设计中的N个技巧


搜索关键字:
panel 横向滚动,纵向自动扩展
<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;
}


[ 打印本页 ] [ 收藏本页 ]

[上一篇]:VisualStudio2008改进版体验
[下一篇]:已经到底了

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
搜索Top

关于我们 - 联系我们 - 广告业务 - 友情链接 - 网站制作 - 留言板 - 会员注册
All Right Zjm.Net.Cn (zjm Enterprise v3.0)
联系电话:0576-8603312 地址:浙江省台州市经济开发区
技术支持:点击这里给我发消息280610248 业务: 点击这里给我发消息40520767 客服: 点击这里给我发消息441758646
E-mail:zjm@zjm.net.cn 备案证书号:浙ICP备06030047号