您的位置:首页 > 其它

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

2008-07-03 10:15 405 查看
1、处理水晶报表时,查询条件刷新会引发自动导出数据,所以要根据引起回发的控件,判断是否加载报表数据:

if ((Page.Request["__EVENTTARGET"] != null)&&(Page.Request["__EVENTTARGET"].StartsWith("ddl") == false ))

QueryData();//加载报表数据

}

2、经常忘记这个:根据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>

cs:

protected string GetSaleNameByID(int resultID)

{

return tsr.GetSaleNameByID(resultID);

}

3、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();

4、缩短显示的列,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) + "...";

}

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