admin管理员组文章数量:1026989
I've found a lot of different examples on the internet, but nothing seems to do what I'm after.
I have a DB view that generates something like this:
--------------------------------------------------- Company | Code | Total | Available | Used | Needed --------------------------------------------------- One | 1 | 10 | 8 | 2 | 3 One | 2 | 5 | 5 | 0 | 5 Two | 1 | 5 | 2 | 3 | 0 Two | 2 | 8 | 4 | 4 | 9 Two | 3 | 0 | 0 | 0 | 0 ---------------------------------------------------
But I'm really after something to summarise all the rows by Company, and be able to expand to view details as needed.
Similar to:
------------------------------------------------------ Company | Total | Available | Used | Needed ------------------------------------------------------ [+] One | 15 | 13 | 2 | 8 ------------------------------------------------------ [-] Two Code | 13 | 6 | 7 | 9 ------------------------------------------------------ | 1 | 5 | 2 | 3 | 0 | 2 | 8 | 4 | 4 | 9 | 3 | 0 | 0 | 0 | 0 ------------------------------------------------------
I've tried building a gridview within a gridview to poor result.
I have a view which generates the panys and the summary information if it can't be done with JavaScript which is how I assumed it could be done.
I'm just looking for a free control or some bright idea in how I can otherwise acplish this. New to ASP.NET so there might be something simple I'm missing.
Thanks
I've found a lot of different examples on the internet, but nothing seems to do what I'm after.
I have a DB view that generates something like this:
--------------------------------------------------- Company | Code | Total | Available | Used | Needed --------------------------------------------------- One | 1 | 10 | 8 | 2 | 3 One | 2 | 5 | 5 | 0 | 5 Two | 1 | 5 | 2 | 3 | 0 Two | 2 | 8 | 4 | 4 | 9 Two | 3 | 0 | 0 | 0 | 0 ---------------------------------------------------
But I'm really after something to summarise all the rows by Company, and be able to expand to view details as needed.
Similar to:
------------------------------------------------------ Company | Total | Available | Used | Needed ------------------------------------------------------ [+] One | 15 | 13 | 2 | 8 ------------------------------------------------------ [-] Two Code | 13 | 6 | 7 | 9 ------------------------------------------------------ | 1 | 5 | 2 | 3 | 0 | 2 | 8 | 4 | 4 | 9 | 3 | 0 | 0 | 0 | 0 ------------------------------------------------------
I've tried building a gridview within a gridview to poor result.
I have a view which generates the panys and the summary information if it can't be done with JavaScript which is how I assumed it could be done.
I'm just looking for a free control or some bright idea in how I can otherwise acplish this. New to ASP.NET so there might be something simple I'm missing.
Thanks
Share Improve this question asked Aug 21, 2009 at 21:26 JakJak 752 silver badges7 bronze badges2 Answers
Reset to default 3You might have better luck with the ListView control.
Matt Berseth has a post on using the ListView control to create this functionality.
Here is a sample with an Accordion, but you could use something else:
Markup:
<ajax:Accordion ID="Accordion1" runat="Server"
SelectedIndex="0"
HeaderCssClass="accordionHeader"
HeaderSelectedCssClass="accordionHeaderSelected"
ContentCssClass="accordionContent"
AutoSize="None" FadeTransitions="true"
TransitionDuration="250" FramesPerSecond="40"
RequireOpenedPane="false" SuppressHeaderPostbacks="true">
<HeaderTemplate><%# Eval("Key")%></HeaderTemplate>
<ContentTemplate>
<asp:ListView runat="server" ID="MyListView" DataSource='<%# Eval("Values") %>'>
<LayoutTemplate>
<table style="width:75%">
<tr>
<th>Code</th>
<th>Total</th>
</tr>
<asp:PlaceHolder ID="itemPlaceholder" runat="server" />
</table>
</LayoutTemplate>
<ItemTemplate>
<tr>
<td><%# Eval("Code")%></td>
<td><%# Eval("Total")%></td>
</tr>
</ItemTemplate>
</asp:ListView>
</ContentTemplate>
</ajax:Accordion>
Code-behind:
public class Company
{
public string CompanyName;
public int Code, Total;
public Company(string pany, int code, int total)
{
this.CompanyName = pany; this.Code = code;
this.Total = total;
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
var Companies = new Company[] {
new Company("One", 1, 10),
new Company("Two", 1, 5),
new Company("Two", 2, 8)
};
Accordion1.DataSource = Companies
.GroupBy(c => c.CompanyName, c => new { Code = c.Code, Total = c.Total },
(k, enumerable) => new { Key = k, Values = enumerable });
Accordion1.DataBind();
}
}
I've found a lot of different examples on the internet, but nothing seems to do what I'm after.
I have a DB view that generates something like this:
--------------------------------------------------- Company | Code | Total | Available | Used | Needed --------------------------------------------------- One | 1 | 10 | 8 | 2 | 3 One | 2 | 5 | 5 | 0 | 5 Two | 1 | 5 | 2 | 3 | 0 Two | 2 | 8 | 4 | 4 | 9 Two | 3 | 0 | 0 | 0 | 0 ---------------------------------------------------
But I'm really after something to summarise all the rows by Company, and be able to expand to view details as needed.
Similar to:
------------------------------------------------------ Company | Total | Available | Used | Needed ------------------------------------------------------ [+] One | 15 | 13 | 2 | 8 ------------------------------------------------------ [-] Two Code | 13 | 6 | 7 | 9 ------------------------------------------------------ | 1 | 5 | 2 | 3 | 0 | 2 | 8 | 4 | 4 | 9 | 3 | 0 | 0 | 0 | 0 ------------------------------------------------------
I've tried building a gridview within a gridview to poor result.
I have a view which generates the panys and the summary information if it can't be done with JavaScript which is how I assumed it could be done.
I'm just looking for a free control or some bright idea in how I can otherwise acplish this. New to ASP.NET so there might be something simple I'm missing.
Thanks
I've found a lot of different examples on the internet, but nothing seems to do what I'm after.
I have a DB view that generates something like this:
--------------------------------------------------- Company | Code | Total | Available | Used | Needed --------------------------------------------------- One | 1 | 10 | 8 | 2 | 3 One | 2 | 5 | 5 | 0 | 5 Two | 1 | 5 | 2 | 3 | 0 Two | 2 | 8 | 4 | 4 | 9 Two | 3 | 0 | 0 | 0 | 0 ---------------------------------------------------
But I'm really after something to summarise all the rows by Company, and be able to expand to view details as needed.
Similar to:
------------------------------------------------------ Company | Total | Available | Used | Needed ------------------------------------------------------ [+] One | 15 | 13 | 2 | 8 ------------------------------------------------------ [-] Two Code | 13 | 6 | 7 | 9 ------------------------------------------------------ | 1 | 5 | 2 | 3 | 0 | 2 | 8 | 4 | 4 | 9 | 3 | 0 | 0 | 0 | 0 ------------------------------------------------------
I've tried building a gridview within a gridview to poor result.
I have a view which generates the panys and the summary information if it can't be done with JavaScript which is how I assumed it could be done.
I'm just looking for a free control or some bright idea in how I can otherwise acplish this. New to ASP.NET so there might be something simple I'm missing.
Thanks
Share Improve this question asked Aug 21, 2009 at 21:26 JakJak 752 silver badges7 bronze badges2 Answers
Reset to default 3You might have better luck with the ListView control.
Matt Berseth has a post on using the ListView control to create this functionality.
Here is a sample with an Accordion, but you could use something else:
Markup:
<ajax:Accordion ID="Accordion1" runat="Server"
SelectedIndex="0"
HeaderCssClass="accordionHeader"
HeaderSelectedCssClass="accordionHeaderSelected"
ContentCssClass="accordionContent"
AutoSize="None" FadeTransitions="true"
TransitionDuration="250" FramesPerSecond="40"
RequireOpenedPane="false" SuppressHeaderPostbacks="true">
<HeaderTemplate><%# Eval("Key")%></HeaderTemplate>
<ContentTemplate>
<asp:ListView runat="server" ID="MyListView" DataSource='<%# Eval("Values") %>'>
<LayoutTemplate>
<table style="width:75%">
<tr>
<th>Code</th>
<th>Total</th>
</tr>
<asp:PlaceHolder ID="itemPlaceholder" runat="server" />
</table>
</LayoutTemplate>
<ItemTemplate>
<tr>
<td><%# Eval("Code")%></td>
<td><%# Eval("Total")%></td>
</tr>
</ItemTemplate>
</asp:ListView>
</ContentTemplate>
</ajax:Accordion>
Code-behind:
public class Company
{
public string CompanyName;
public int Code, Total;
public Company(string pany, int code, int total)
{
this.CompanyName = pany; this.Code = code;
this.Total = total;
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
var Companies = new Company[] {
new Company("One", 1, 10),
new Company("Two", 1, 5),
new Company("Two", 2, 8)
};
Accordion1.DataSource = Companies
.GroupBy(c => c.CompanyName, c => new { Code = c.Code, Total = c.Total },
(k, enumerable) => new { Key = k, Values = enumerable });
Accordion1.DataBind();
}
}
本文标签: cASPNET an expandable grid viewStack Overflow
版权声明:本文标题:c# - ASP.NET an expandable grid view? - Stack Overflow 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://it.en369.cn/questions/1745655888a2161592.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论