技术开发 频道

Tech tips(回发、显示名称、DataView过滤前10条记录)


【IT168技术文档】

  处理水晶报表时,查询条件刷新会引发自动导出数据,所以要根据引起回发的控件,判断是否加载报表数据:
if ((Page.Request["__EVENTTARGET"] != null)&&(Page.Request["__EVENTTARGET"].StartsWith("ddl") == false )) QueryData();//加载报表数据 }
  经常忘记这个:根据ID取Name的显示方式,作个标记:
<asp:TemplateField HeaderText="名称"> <HeaderStyle Width="60px" /> <ItemTemplate> <asp:Label Text ='<%# GetSaleNameByID((int)DataBinder.Eval(Container.DataItem, "ID"))%>' runat="server" ID="saleName" ></asp:Label> </ItemTemplate> </asp:TemplateField>
protected string GetSaleNameByID(int resultID) { return tsr.GetSaleNameByID(resultID); }
  DataView取前10条记录的方法:
DataView dv = ds.Tables[0].DefaultView; dv.Sort = "ContactTime DESC"; while (dv.Count >10) { dv.Delete(dv.Count-1); } gdvData.DataSource = dv; gdvData.DataBind();
  缩短显示的列,datagrid经常用到的。
if (e.Row.RowType==DataControlRowType.DataRow){ ShortERow(e.Row.Cells[8], 4); //公司地址 } e.Row.Cells[0].Visible = false; //隐藏ID列 /// <summary> /// 缩短列 /// </summary> /// <param name="cell"></param> /// <param name="lengthLong">超过的长度</param> protected void ShortERow( TableCell cell,int lengthLong) { string text = cell.Text.Trim(); cell.Text = text; if (text.Length > lengthLong) { cell.ToolTip = text; cell.Text = text.Substring(0, lengthLong - 2) + "..."; } }
0
相关文章