各位做b/s的高手,请问谁知道怎么写datagrid的三层嵌套????????

zooo 2004-11-24 10:27:50
各位做b/s的高手,请问谁知道怎么写datagrid的三层嵌套????????请给代码或连接也行!
...全文
343 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
zipo 2005-01-15
  • 打赏
  • 举报
回复
public static DataSet ExecuteDataset(CommandType cmdType, string cmdText, params SqlParameter[] cmdParms)
{

SqlCommand cmd = new SqlCommand();
SqlConnection conn = new SqlConnection(connString);
try
{
PrepareCommand(cmd,conn,cmdType,cmdText,cmdParms);


SqlDataAdapter da = new SqlDataAdapter(cmd);

DataSet ds = new DataSet();

da.Fill(ds);

cmd.Parameters.Clear();

return ds;
}
catch(Exception e)
{
throw new Exception(e.Message);
}
finally
{
if(conn != null)
conn.Close();
}

}

xulovewei 2004-12-30
  • 打赏
  • 举报
回复
为什么要三层嵌套呢,太复杂了,建议使用动态生成控件,我做过一个,挺方便的
zooo 2004-12-30
  • 打赏
  • 举报
回复
动态控件或动态事件的可以找到资料
如果查找控件, 也可以找到资料.

一般查什么资料?msdn吗?
lutao206 2004-12-02
  • 打赏
  • 举报
回复
<asp:datagrid id="Datagrid1" runat="server" Width="100%" AllowSorting="True" AllowPaging="True"
AutoGenerateColumns="False" CellPadding="1" BackColor="White" BorderStyle="None" HorizontalAlign="Center"
BorderWidth="1px" BorderColor="#73B3E1">
<SelectedItemStyle ForeColor="Black" BackColor="#EFEFEF"></SelectedItemStyle>
<EditItemStyle Wrap="False"></EditItemStyle>
<AlternatingItemStyle Wrap="False" BackColor="#F7FBFF"></AlternatingItemStyle>
<ItemStyle Font-Size="11pt" Wrap="False" ForeColor="Black" BackColor="White"></ItemStyle>
<HeaderStyle Font-Bold="True" HorizontalAlign="Center" ForeColor="White" BackColor="#2086D1"></HeaderStyle>
<FooterStyle HorizontalAlign="Right"></FooterStyle>
<Columns>
<asp:BoundColumn DataField="Number" SortExpression="Number" HeaderText="序号">
<HeaderStyle Width="30px"></HeaderStyle>
<ItemStyle VerticalAlign="Top"></ItemStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="ItemCode" SortExpression="ItemCode" HeaderText="项目编号">
<HeaderStyle Width="80px"></HeaderStyle>
<ItemStyle HorizontalAlign="Center" VerticalAlign="Top"></ItemStyle>
</asp:BoundColumn>
<asp:TemplateColumn SortExpression="ItemName" HeaderText="新合并的项目名称">
<ItemStyle Font-Underline="True" ForeColor="Blue" VerticalAlign="Top"></ItemStyle>
<ItemTemplate>
<%# Selector(DataBinder.Eval(Container.DataItem, "ItemName"),DataBinder.Eval(Container.DataItem, "Class5ID"),DataBinder.Eval(Container.DataItem,"ItemID").ToString(),DataBinder.Eval(Container.DataItem, "ItemClassID"))%>
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn DataField="ItemClassName" SortExpression="ItemClassName" HeaderText="项目类型">
<HeaderStyle Width="55px"></HeaderStyle>
<ItemStyle VerticalAlign="Top"></ItemStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="SumMoney" SortExpression="SumMoney" HeaderText="计划费用" DataFormatString="{0:F2}">
<HeaderStyle Width="60px"></HeaderStyle>
<ItemStyle HorizontalAlign="Right" VerticalAlign="Top"></ItemStyle>
</asp:BoundColumn>
<asp:TemplateColumn HeaderText="被合并的项目列表">
<ItemStyle VerticalAlign="Top"></ItemStyle>
<ItemTemplate>
<asp:DataGrid GridLines="Horizontal" ShowHeader="True" CellPadding="2" BorderWidth="0px" AutoGenerateColumns="False" Runat="server" Font-Size="X-Small" Width="100%" DataSource='<%# GetOrdersDataSource((int)DataBinder.Eval(Container.DataItem, "ItemID")) %>' ID="Datagrid2" NAME="Datagrid1">
<SelectedItemStyle ForeColor="Black" BackColor="#EFEFEF"></SelectedItemStyle>
<EditItemStyle Wrap="False"></EditItemStyle>
<AlternatingItemStyle Wrap="False" BackColor="#F7FBFF"></AlternatingItemStyle>
<ItemStyle Font-Size="11pt" Wrap="False" ForeColor="Black" BackColor="White"></ItemStyle>
<HeaderStyle Font-Bold="True" HorizontalAlign="Left" ForeColor="White" BackColor="#2086D1"></HeaderStyle>
<FooterStyle HorizontalAlign="Right"></FooterStyle>
<Columns>
<asp:TemplateColumn SortExpression="ItemName" HeaderText="项目名称">
<ItemStyle Font-Underline="True" ForeColor="Blue" VerticalAlign="Top"></ItemStyle>
<ItemTemplate>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="15"><b>·</b></td>
<td>
<%# Selector(DataBinder.Eval(Container.DataItem, "ItemName"),DataBinder.Eval(Container.DataItem, "Class5ID"),DataBinder.Eval(Container.DataItem,"ItemID_Source").ToString(),DataBinder.Eval(Container.DataItem, "ItemClassID"))%>
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn DataField="SumMoney" SortExpression="SumMoney" HeaderText="计划费用" DataFormatString="{0:F2}">
<HeaderStyle Width="60px"></HeaderStyle>
<ItemStyle HorizontalAlign="Right" VerticalAlign="Top"></ItemStyle>
</asp:BoundColumn>
</Columns>
</asp:DataGrid>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
<PagerStyle HorizontalAlign="Right" ForeColor="Black" BackColor="#F2F2F2" Mode="NumericPages"></PagerStyle>
</asp:datagrid>

//******************************************************************以上是前台的二层套,第三层类似,不再提示...........................
jackymi 2004-12-02
  • 打赏
  • 举报
回复
数据基础层:

public static DataSet ExecuteDataset(CommandType cmdType, string cmdText, params SqlParameter[] cmdParms)
{

SqlCommand cmd = new SqlCommand();
SqlConnection conn = new SqlConnection(connString);
try
{
PrepareCommand(cmd,conn,cmdType,cmdText,cmdParms);


SqlDataAdapter da = new SqlDataAdapter(cmd);

DataSet ds = new DataSet();

da.Fill(ds);

cmd.Parameters.Clear();

return ds;
}
catch(Exception e)
{
throw new Exception(e.Message);
}
finally
{
if(conn != null)
conn.Close();
}

}

数据层:

public DataSet GetQyNewsFormQyid(string qyid)
{
SqlParameter parm = new SqlParameter(PARM_QY_ID, SqlDbType.VarChar,50);

parm.Value=qyid;

DataSet ds=SQL_DataAccess.ExecuteDataset(CommandType.Text,SQl_SEL_QYNEWS_BY_QYID,parm);
return ds;

}

逻辑事物层:

public DataSet LoadNewsFromQyId(string qyid)
{
NewsD news=new NewsD();
DataSet ds=(DataSet)news.GetQyNewsFormQyid(qyid);
return ds;
}

表示层:

private void BindGrid()
{
NewsB nb=new NewsB();
DataSet st=nb.LoadNewsFromQyId(Session["frhm"].ToString());
DataGrid1.DataSource=st;
DataGrid1.DataBind();
}
SVG 2004-12-02
  • 打赏
  • 举报
回复
唉, 也有人出300元请我技术支持这个问题的, 为什么不去看看基础的呢
动态控件或动态事件的可以找到资料
如果查找控件, 也可以找到资料.

做事不怕不会, 就怕找不到资料
srz007 2004-12-02
  • 打赏
  • 举报
回复
上面的代码有点误
private void PowerDataGrid1_ItemCreated(object sender, DataGridItemEventArgs e)

应该是

private void DataGrid1_ItemCreated(object sender, DataGridItemEventArgs e)

前台很简单啊,你从工具箱里拽三个DataGrid出来,分别叫DataGrid1、DataGrid2、DataGrid3
把3放在2的一个模板列里,然后再一起放在1的一个模板列里就可以用了
zooo 2004-12-02
  • 打赏
  • 举报
回复
两层的我也会!
javabuilder9 2004-12-01
  • 打赏
  • 举报
回复
没做过 帮顶
srz007 2004-12-01
  • 打赏
  • 举报
回复
三层嵌套从一层开始,然后2层,然后3层
比如
private void Page_Load(object sender, System.EventArgs e)
{
DataGrid1.DataSource = ....;
DataGrid1.ItemCreated += new DataGridItemEventHandler(DataGrid1_ItemCreated);
DataGrid1.DataBind();
}

private void PowerDataGrid1_ItemCreated(object sender, DataGridItemEventArgs e)
{
DataGrid DataGrid2 = (DataGrid)e.Item.FindControl("DataGrid2");
DataGrid2.DataSource = "";
DataGrid2.ItemCreated += new DataGridItemEventHandler(DataGrid2_ItemCreated);
DataGrid2.DataBind();
}

private void DataGrid2_ItemCreated(object sender, DataGridItemEventArgs e)
{
DataGrid DataGrid3 = (DataGrid)e.Item.FindControl("DataGrid3");
DataGrid3.DataSource = "";
DataGrid3.DataBind();
}
zooo 2004-12-01
  • 打赏
  • 举报
回复
你们这帮高手告诉不告诉啊?
zooo 2004-12-01
  • 打赏
  • 举报
回复
srz007(呵呵)
大哥那前台哪???
zooo 2004-11-29
  • 打赏
  • 举报
回复
我晕,
高手都不告诉啊!
sukey00 2004-11-27
  • 打赏
  • 举报
回复
从最简单的做起
synchen 2004-11-27
  • 打赏
  • 举报
回复
信誉太差了
lyfxzzb 2004-11-27
  • 打赏
  • 举报
回复
三层的没作过,帮顶
zooo 2004-11-27
  • 打赏
  • 举报
回复
我靠
没人告诉我啊
simonzone 2004-11-26
  • 打赏
  • 举报
回复
三层嵌套????????
zooo 2004-11-26
  • 打赏
  • 举报
回复

没人能告诉我吗?
那管告诉我个思想也行啊!
tianjue0921 2004-11-24
  • 打赏
  • 举报
回复
没有固定的模式,只可意味,不可言传呀,看看别人的代码吧
加载更多回复(1)
主要是运用 easyui的方法进行行内嵌套显示,让一行可以显示更多的东西,让一行显示JSON的字符串、从表之类的东西。下边先看效果图: 接下来说实现过程: (1)在首次加载中添加代码view: detailview, detailFormatter:function(index,row){ return '
<

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧