SPREAD for ASP.NET 8.0J サンプルコード集
子行が0件なら展開アイコンを表示しない

SheetViewクラスのSetRowExpandableメソッドを使用して、行を指定して展開を無効にします。

実行例:

FpSpread1.DataSource = new StorehouseList();
//コントロールのサイズを自動調整します
FpSpread1.ClientAutoSize = true;
//すべての階層を折りたたみます
FpSpread1.Sheets[0].ExpandAll(false);
SheetView childView;
foreach(Row r in FpSpread1.Rows)
{
    childView = FpSpread1.Sheets[0].GetChildView(r.Index, 0);
    //子行が0なら親行の展開を無効にします
    if (childView.RowCount == 0)
        FpSpread1.Sheets[0].SetRowExpandable(r.Index, false);
}
//行ヘッダのテキストを左寄せにします
FpSpread1.RowHeader.DefaultStyle.HorizontalAlign = HorizontalAlign.Left;
FpSpread1.DataSource = New StorehouseList()
'コントロールのサイズを自動調整します
FpSpread1.ClientAutoSize = True
'すべての階層を折りたたみます
FpSpread1.Sheets(0).ExpandAll(False)
Dim childView As SheetView
For Each r As Row In FpSpread1.Rows
    childView = FpSpread1.Sheets(0).GetChildView(r.Index, 0)
    '子行が0なら親行の展開を無効にします
    If childView.RowCount = 0 Then
        FpSpread1.Sheets(0).SetRowExpandable(r.Index, False)
    End If
Next
'行ヘッダのテキストを左寄せにします
FpSpread1.RowHeader.DefaultStyle.HorizontalAlign = HorizontalAlign.Left

この例では、データソースとして以下のクラスを使用しています。

[Serializable]
public class Stock
{
    public string ProductCode { get; set; }
    public string ProductName { get; set; }
    public DateTime StockDate { get; set; }
    public string NoteNo { get; set; }
    public DateTime ExpireDate { get; set; }
    public string LotNo { get; set; }
    public int Quantity { get; set; }
    public string Term { get; set; }
    public double UnitPrice { get; set; }
    public string Section { get; set; }
    public string StoreID { get; set; }
}
[Serializable]
public class StockList : List<Stock>
{
    public StockList()
    {
        Add(new Stock
        {
            ProductCode = "0000001",
            ProductName = "スイートアーモンド",
            StockDate = DateTime.Today.AddDays(-9),
            NoteNo = "D040000004",
            ExpireDate = DateTime.Today.AddMonths(1),
            LotNo = "2011092001",
            Quantity = 200,
            Term = "本",
            UnitPrice = 90,
            Section = "仕入",
            StoreID = "MYG1001"
        });
        Add(new Stock
        {
            ProductCode = "0000001",
            ProductName = "スイートアーモンド",
            StockDate = DateTime.Today.AddDays(-9),
            NoteNo = "D040000004",
            ExpireDate = DateTime.Today.AddMonths(1),
            LotNo = "2011092003",
            Quantity = 400,
            Term = "本",
            UnitPrice = 90,
            Section = "仕入",
            StoreID = "MYG1001"
        });
        Add(new Stock
        {
            ProductCode = "0000001",
            ProductName = "スイートアーモンド",
            StockDate = DateTime.Today.AddDays(-6),
            NoteNo = "D040000001",
            ExpireDate = DateTime.Today.AddMonths(1),
            LotNo = "0000001",
            Quantity = 490,
            Term = "本",
            UnitPrice = 90,
            Section = "製造",
            StoreID = "MYG1001"
        });
        Add(new Stock
        {
            ProductCode = "0000002",
            ProductName = "グレープシード",
            StockDate = DateTime.Today.AddDays(-4),
            NoteNo = "D040000007",
            ExpireDate = DateTime.Today.AddMonths(2),
            LotNo = "20111119001",
            Quantity = 10,
            Term = "本",
            UnitPrice = 120,
            Section = "仕入",
            StoreID = "MYG1001"
        });
        Add(new Stock
        {
            ProductCode = "0000002",
            ProductName = "グレープシード",
            StockDate = DateTime.Today.AddDays(-5),
            NoteNo = "M040000002",
            ExpireDate = DateTime.Today.AddMonths(2),
            LotNo = "123",
            Quantity = 4,
            Term = "本",
            UnitPrice = 100,
            Section = "製造",
            StoreID = "MYG1001"
        });
        Add(new Stock
        {
            ProductCode = "0000003",
            ProductName = "オリーブ",
            StockDate = DateTime.Today.AddDays(-9),
            NoteNo = "D040000006",
            ExpireDate = DateTime.Today.AddMonths(3),
            LotNo = "20111119010",
            Quantity = 9,
            Term = "本",
            UnitPrice = 2000,
            Section = "仕入",
            StoreID = "MYG1002"
        });
        Add(new Stock
        {
            ProductCode = "0000005",
            ProductName = "馬油",
            StockDate = DateTime.Today.AddDays(-7),
            NoteNo = "D040000009",
            ExpireDate = DateTime.Today.AddYears(1),
            LotNo = "20111214002",
            Quantity = 84,
            Term = "Kg",
            UnitPrice = 3200,
            Section = "仕入",
            StoreID = "MYG1001"
        });
        Add(new Stock
        {
            ProductCode = "0000006",
            ProductName = "ビーワックス",
            StockDate = DateTime.Today.AddDays(-2),
            NoteNo = "D040000011",
            ExpireDate = DateTime.Today.AddYears(1),
            LotNo = "20111217004",
            Quantity = 150,
            Term = "Kg",
            UnitPrice = 1500,
            Section = "製造",
            StoreID = "MYG1002"
        });
        Add(new Stock
        {
            ProductCode = "0000010",
            ProductName = "えごま",
            StockDate = DateTime.Today.AddDays(-3),
            NoteNo = "D040000008",
            ExpireDate = DateTime.Today.AddMonths(1),
            LotNo = "20111120002",
            Quantity = 52,
            Term = "本",
            UnitPrice = 120,
            Section = "仕入",
            StoreID = "MYG1002"
        });
    }
}
<Serializable>
Public Class Stock
    Public Property ProductCode() As String
    Public Property ProductName() As String
    Public Property StockDate() As DateTime
    Public Property NoteNo() As String
    Public Property ExpireDate() As DateTime
    Public Property LotNo() As String
    Public Property Quantity() As Integer
    Public Property Term() As String
    Public Property UnitPrice() As Double
    Public Property Section() As String
    Public Property StoreID() As String
End Class
<Serializable>
Public Class StockList
    Inherits List(Of Stock)
    Public Sub New()
        Add(New Stock() With {
            .ProductCode = "0000001",
            .ProductName = "スイートアーモンド",
            .StockDate = DateTime.Today.AddDays(-9),
            .NoteNo = "D040000004",
            .ExpireDate = DateTime.Today.AddMonths(1),
            .LotNo = "2011092001",
            .Quantity = 200,
            .Term = "本",
            .UnitPrice = 90,
            .Section = "仕入",
            .StoreID = "MYG1001"
        })
        Add(New Stock() With {
            .ProductCode = "0000001",
            .ProductName = "スイートアーモンド",
            .StockDate = DateTime.Today.AddDays(-9),
            .NoteNo = "D040000004",
            .ExpireDate = DateTime.Today.AddMonths(1),
            .LotNo = "2011092003",
            .Quantity = 400,
            .Term = "本",
            .UnitPrice = 90,
            .Section = "仕入",
            .StoreID = "MYG1001"
        })
        Add(New Stock() With {
            .ProductCode = "0000001",
            .ProductName = "スイートアーモンド",
            .StockDate = DateTime.Today.AddDays(-6),
            .NoteNo = "D040000001",
            .ExpireDate = DateTime.Today.AddMonths(1),
            .LotNo = "0000001",
            .Quantity = 490,
            .Term = "本",
            .UnitPrice = 90,
            .Section = "製造",
            .StoreID = "MYG1001"
        })
        Add(New Stock() With {
            .ProductCode = "0000002",
            .ProductName = "グレープシード",
            .StockDate = DateTime.Today.AddDays(-4),
            .NoteNo = "D040000007",
            .ExpireDate = DateTime.Today.AddMonths(2),
            .LotNo = "20111119001",
            .Quantity = 10,
            .Term = "本",
            .UnitPrice = 120,
            .Section = "仕入",
            .StoreID = "MYG1001"
        })
        Add(New Stock() With {
            .ProductCode = "0000002",
            .ProductName = "グレープシード",
            .StockDate = DateTime.Today.AddDays(-5),
            .NoteNo = "M040000002",
            .ExpireDate = DateTime.Today.AddMonths(2),
            .LotNo = "123",
            .Quantity = 4,
            .Term = "本",
            .UnitPrice = 100,
            .Section = "製造",
            .StoreID = "MYG1001"
        })
        Add(New Stock() With {
            .ProductCode = "0000003",
            .ProductName = "オリーブ",
            .StockDate = DateTime.Today.AddDays(-9),
            .NoteNo = "D040000006",
            .ExpireDate = DateTime.Today.AddMonths(3),
            .LotNo = "20111119010",
            .Quantity = 9,
            .Term = "本",
            .UnitPrice = 2000,
            .Section = "仕入",
            .StoreID = "MYG1002"
        })
        Add(New Stock() With {
            .ProductCode = "0000005",
            .ProductName = "馬油",
            .StockDate = DateTime.Today.AddDays(-7),
            .NoteNo = "D040000009",
            .ExpireDate = DateTime.Today.AddYears(1),
            .LotNo = "20111214002",
            .Quantity = 84,
            .Term = "Kg",
            .UnitPrice = 3200,
            .Section = "仕入",
            .StoreID = "MYG1002"
        })
        Add(New Stock() With {
            .ProductCode = "0000006",
            .ProductName = "ビーワックス",
            .StockDate = DateTime.Today.AddDays(-2),
            .NoteNo = "D040000011",
            .ExpireDate = DateTime.Today.AddYears(1),
            .LotNo = "20111217004",
            .Quantity = 150,
            .Term = "Kg",
            .UnitPrice = 1500,
            .Section = "製造",
            .StoreID = "MYG1002"
        })
        Add(New Stock() With {
            .ProductCode = "0000010",
            .ProductName = "えごま",
            .StockDate = DateTime.Today.AddDays(-3),
            .NoteNo = "D040000008",
            .ExpireDate = DateTime.Today.AddMonths(1),
            .LotNo = "20111120002",
            .Quantity = 52,
            .Term = "本",
            .UnitPrice = 120,
            .Section = "仕入",
            .StoreID = "MYG1002"
        })
    End Sub
End Class
[Serializable]
public class Storehouse
{
    public string StoreID { get; set; }
    public string StoreName { get; set; }
    public List<Stock> Stocks { get; set; }      
}
[Serializable]
public class StorehouseList : List<Storehouse>
{
    public StorehouseList()
    {
        var stocks = new StockList();
        Add(new Storehouse() { StoreID = "MYG1001", StoreName = "宮城第1倉庫", Stocks = stocks.FindAll(s => s.StoreID == "MYG1001") });
        Add(new Storehouse() { StoreID = "MYG1002", StoreName = "宮城第2倉庫", Stocks = stocks.FindAll(s => s.StoreID == "MYG1002") });
        Add(new Storehouse() { StoreID = "MYG1003", StoreName = "宮城第3倉庫", Stocks = stocks.FindAll(s => s.StoreID == "MYG1003") });
    }
}
<Serializable>
Public Class Storehouse
    Public Property StoreID() As String
    Public Property StoreName() As String
    Public Property Stocks() As List(Of Stock)
End Class
<Serializable>
Public Class StorehouseList
    Inherits List(Of Storehouse)
    Public Sub New()
        Dim stocks = New StockList()
        Add(New Storehouse() With {
            .StoreID = "MYG1001",
            .StoreName = "宮城第1倉庫",
            .Stocks = stocks.FindAll(Function(s) s.StoreID = "MYG1001")
        })
        Add(New Storehouse() With {
            .StoreID = "MYG1002",
            .StoreName = "宮城第2倉庫",
            .Stocks = stocks.FindAll(Function(s) s.StoreID = "MYG1002")
        })
        Add(New Storehouse() With {
            .StoreID = "MYG1003",
            .StoreName = "宮城第3倉庫",
            .Stocks = stocks.FindAll(Function(s) s.StoreID = "MYG1003")
        })
    End Sub
End Class

 

 


© 2013-2015, GrapeCity inc. All rights reserved.