现需要显示为这种格式:
所属办事处 进仓单号 进仓时间 操作
恒威达 RN-JS001304 2004-11-12 修改 删除操作下面是两个列。
怎么实现?要具体的方法。
所属办事处 进仓单号 进仓时间 操作
恒威达 RN-JS001304 2004-11-12 修改 删除操作下面是两个列。
怎么实现?要具体的方法。
解决方案 »
- 菜鸟问题,关于ascx中加入textbox出现的问题
- 选反哪一种.net技术?
- 会SVN的请进来看看是什么问题?下班结贴~~~~~谢谢
- 一个很奇怪的问题,我无从下手,只希望碰到过这个问题并解决了的兄弟能指点下
- 如何动态调用多个枚举型?
- 关于页面refresh的问题
- 如何用datagrid 嵌套来显示具有父子关系的两个表
- Linux下能否访问asp.net开发的web网站?
- 如何读出数据表中某个字段的值,并且在这个数据集中取出特定的值?在线等,马上给分!
- 请大神帮帮忙,出现错误当前上下文中不存在名称 textbox1
- 如何在退出IE时把session变量清空?我想了很久也没有解决办法
- .dll里面如何使用session
select 所属办事处,进仓单号,进仓时间,'<a href="page1.aspx?id=primaryKey">修改</a>'+'<a href="page2.aspx?id=primaryKey">删除</a>' as 操作 from yourtable这种方法缺点就是要单独在做一个修改页面和一个删除页面,通过传递的URL值,来执行相应的操作。
select 所属办事处,进仓单号,进仓时间,'<a href="page1.aspx?id=primaryKey">修改</a>'+'<a href="page2.aspx?id=primaryKey">删除</a>' as 操作 from yourtable这种方法缺点就是要单独在做一个修改页面和一个删除页面,通过传递的URL值,来执行相应的操作。
问题出来了,改如何解决呢?想了好多办法都不行,如果要将Header重画,那么还要处理排序是前后台的交互问题,那么只能再保留原来Header不动的基础上添加新的Header。无意中发现在分页的时候可以有几种分页显示的方法,在分页面板里面有一个选现可以选择分页的位置,可以选择上下型,在选择这个类型的时候DataGrid在原来的Header上面又多了一行,我们今天就利用这一行来完成我们的任务,今天我们不产生查询的UI而是产生一个分类的题头,我们使用测试数据库Northwind中的Employees来显示数据,首先我们要做的是绑定数据绑定代码如下:
SqlConnection con = new SqlConnection("server=localhost;database=Northwind;uid=sa;pwd=;");
SqlDataAdapter da = new SqlDataAdapter("SELECT LastName+' '+FirstName as name, BirthDate, Country, Title, HireDate FROM Employees",con);
DataTable dt = new DataTable();
da.Fill(dt);
this.DataGrid1.DataSource = dt;
this.DataGrid1.DataBind();
}
接着我们在ItemCreated里面添加适当的代码来完成我们的任务,在PowerDataGrid该事件处理函数里面已经添加了创建一个自定义分页的UI!如果你在PowerDataGrid里面添加需要判断两个(上下)Pager的位置,我们可以使用一个全局变量来判断。
定义一个全局变量 private int m_CreatePageTimes = 0;
然后我们为该事件处理函数添加如下代码:
private int m_CreatePageTimes = 0;
private void DataGrid1_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) {
ListItemType elemType = e.Item.ItemType;
if (elemType == ListItemType.Pager) {
if (m_CreatePageTimes == 0) {
TableCell cellPerson = (TableCell) e.Item.Controls[0];
cellPerson.Controls.Clear();
cellPerson.BackColor = Color.Navy;
cellPerson.ForeColor = Color.Yellow;
cellPerson.ColumnSpan = 3;
cellPerson.HorizontalAlign = HorizontalAlign.Center;
cellPerson.Controls.Add(new LiteralControl("个人信息"));
TableCell cellJob = new TableCell();
cellJob.BackColor = Color.Navy;
cellJob.ForeColor = Color.Yellow;
cellJob.ColumnSpan = 2;
cellJob.HorizontalAlign = HorizontalAlign.Center;
cellJob.Controls.Add(new LiteralControl("工作信息"));
e.Item.Controls.Add(cellJob);
m_CreatePageTimes ++;
}else if(m_CreatePageTimes ==1){
// create custom pager UI
}
}
最后是DataGrid的HTML部分的代码如下:
<asp:DataGrid id="DataGrid1" runat="server" AllowPaging="True" AutoGenerateColumns="False" Width="100%"
PageSize="2">
<Columns>
<asp:BoundColumn DataField="name" HeaderText="姓名"></asp:BoundColumn>
<asp:BoundColumn DataField="BirthDate" HeaderText="生日"></asp:BoundColumn>
<asp:BoundColumn DataField="Country" HeaderText="国家"></asp:BoundColumn>
<asp:BoundColumn DataField="Title" HeaderText="头衔"></asp:BoundColumn>
<asp:BoundColumn DataField="HireDate" HeaderText="雇佣日期"></asp:BoundColumn>
</Columns>
<PagerStyle Position="TopAndBottom" Mode="NumericPages"></PagerStyle>
</asp:DataGrid>
AutoGenerateColumns="False">
<Columns>
<asp:TemplateColumn HeaderText="序号">
<ItemTemplate>
<asp:CheckBox ID="id" Runat="server"></asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="修改">
<ItemTemplate>
<asp:LinkButton Runat="server">修改</asp:LinkButton>
<asp:LinkButton Runat="server">删除</asp:LinkButton>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
http://www.wxsenyi.com/1.bmp
if(e.Item.ItemType == ListItemType.Header)
{
e.Item.Cells[4].ColSpan = 2;
e.Item.Cells[5].Visible = false;
}
<asp:LinkButton Runat="server" CommandName="Delete">删除</asp:LinkButton>
然后在Datagrid中的ItemCommand中判断
if(e.item.CommandName=="删除"){}
else
{
}