using System;
using System.Net.Http;
using System.Collections.Generic;
using System.Threading.Tasks;
using System.Text;
using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using IgniteUI.Blazor.Controls; // for registering Ignite UI modulesnamespaceInfragistics.Samples
{
publicclassProgram
{
publicstaticasync Task Main(string[] args)
{
var builder = WebAssemblyHostBuilder.CreateDefault(args);
builder.RootComponents.Add<App>("app");
builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });
// registering Ignite UI modules
builder.Services.AddIgniteUIBlazor(
typeof(IgbTreeGridModule)
);
await builder.Build().RunAsync();
}
}
}cs
//begin datausing System;
using System.Collections.Generic;
publicclassWorkersData : List<Worker>
{
publicWorkersData()
{
List<Worker> data = new List<Worker>()
{
new Worker()
{
Age = 55,
HireDate= DateTime.Parse("2008-03-20"),
HireTime = DateTime.Parse("2008-03-20") + new TimeSpan(12,0,0),
HireFullDate= DateTime.Parse("2008-03-20") + new TimeSpan(12,0,0),
ID = 1,
Name = "Johnathan Winchester",
OnPTO = false,
ParentID = -1,
Avatar = "https://static.infragistics.com/xplatform/images/people/men/5.jpg",
Salary = 15,
CompletedTasks = 0.15,
Title = "Development Manager"
},
new Worker()
{
Age = 42,
HireDate = DateTime.Parse("2014-01-22"),
HireTime = DateTime.Parse("2014-01-22") + new TimeSpan(12,0,0),
HireFullDate = DateTime.Parse("2014-01-22") + new TimeSpan(12,0,0),
ID = 4,
Name = "Ana Sanders",
OnPTO = true,
ParentID = -1,
Avatar = "https://static.infragistics.com/xplatform/images/people/women/4.jpg",
Salary = 39,
CompletedTasks = 0.39,
Title = "CEO"
},
new Worker()
{
Age = 49,
HireDate = DateTime.Parse("2014-01-22"),
HireTime = DateTime.Parse("2014-01-22") + new TimeSpan(14,0,0),
HireFullDate = DateTime.Parse("2014-01-22") + new TimeSpan(14,0,0),
ID = 18,
Name = "Victoria Lincoln",
OnPTO = true,
ParentID = -1,
Avatar = "https://static.infragistics.com/xplatform/images/people/women/2.jpg",
Salary = 52,
CompletedTasks = 0.52,
Title = "Accounting Manager"
},
new Worker()
{
Age = 61,
HireDate = DateTime.Parse("2010-01-01"),
HireTime = DateTime.Parse("2010-01-01") + new TimeSpan(14,0,0),
HireFullDate = DateTime.Parse("2010-01-01") + new TimeSpan(14,0,0),
ID = 10,
Name = "Yang Wang",
OnPTO = false,
ParentID = -1,
Avatar = "https://static.infragistics.com/xplatform/images/people/men/4.jpg",
Salary = 13,
CompletedTasks = 0.13,
Title = "Localization Manager"
},
new Worker()
{
Age = 43,
HireDate = DateTime.Parse("2011-06-03"),
HireTime = DateTime.Parse("2011-06-03") + new TimeSpan(14,0,0),
HireFullDate = DateTime.Parse("2011-06-03") + new TimeSpan(14,0,0),
ID = 3,
Name = "Michael Burke",
OnPTO = true,
ParentID = 1,
Avatar = "https://static.infragistics.com/xplatform/images/people/men/1.jpg",
Salary = 22,
CompletedTasks = 0.22,
Title = "Senior Software Developer"
},
new Worker()
{
Age = 29,
HireDate = DateTime.Parse("2009-06-19"),
HireTime = DateTime.Parse("2009-06-19") + new TimeSpan(14,0,0),
HireFullDate = DateTime.Parse("2009-06-19") + new TimeSpan(14,0,0),
ID = 2,
Name = "Thomas Anderson",
OnPTO = false,
ParentID = 1,
Avatar = "https://static.infragistics.com/xplatform/images/people/men/2.jpg",
Salary = 30,
CompletedTasks = 0.3,
Title = "Senior Software Developer"
},
new Worker()
{
Age = 31,
HireDate = DateTime.Parse("2014-08-18"),
HireTime = DateTime.Parse("2014-08-18") + new TimeSpan(14,0,0),
HireFullDate = DateTime.Parse("2014-08-18") + new TimeSpan(14,0,0),
ID = 11,
Name = "Monica Reyes",
OnPTO = false,
ParentID = 1,
Avatar = "https://static.infragistics.com/xplatform/images/people/women/3.jpg",
Salary = 45,
CompletedTasks = 0.45,
Title = "Software Development Team Lead"
},
new Worker()
{
Age = 35,
HireDate = DateTime.Parse("2015-09-17"),
HireTime = DateTime.Parse("2015-09-17") + new TimeSpan(14,0,0),
HireFullDate = DateTime.Parse("2015-09-17") + new TimeSpan(14,0,0),
ID = 6,
Name = "Roland Mendel",
OnPTO = false,
ParentID = 11,
Avatar = "https://static.infragistics.com/xplatform/images/people/men/3.jpg",
Salary = 35,
CompletedTasks = 0.35,
Title = "Senior Software Developer"
},
new Worker()
{
Age = 44,
HireDate = DateTime.Parse("2009-10-11"),
HireTime = DateTime.Parse("2009-10-11") + new TimeSpan(14,0,0),
HireFullDate = DateTime.Parse("2009-10-11") + new TimeSpan(14,0,0),
ID = 12,
Name = "Sven Cooper",
OnPTO = true,
ParentID = 11,
Avatar = "https://static.infragistics.com/xplatform/images/people/men/6.jpg",
Salary = 29,
CompletedTasks = 0.29,
Title = "Senior Software Developer"
},
new Worker()
{
Age = 44,
HireDate = DateTime.Parse("2014-04-04"),
HireTime = DateTime.Parse("2014-04-04") + new TimeSpan(14,0,0),
HireFullDate = DateTime.Parse("2014-04-04") + new TimeSpan(14,0,0),
ID = 14,
Name = "Laurence Johnson",
OnPTO = false,
ParentID = 4,
Avatar = "https://static.infragistics.com/xplatform/images/people/men/7.jpg",
Salary = 63,
CompletedTasks = 0.63,
Title = "Director"
},
new Worker()
{
Age = 25,
HireDate = DateTime.Parse("2017-11-09"),
HireTime = DateTime.Parse("2017-11-09") + new TimeSpan(14,0,0),
HireFullDate = DateTime.Parse("2017-11-09") + new TimeSpan(14,0,0),
ID = 5,
Name = "Elizabeth Richards",
OnPTO = true,
ParentID = 4,
Avatar = "https://static.infragistics.com/xplatform/images/people/women/1.jpg",
Salary = 67,
CompletedTasks = 0.67,
Title = "Vice President"
},
new Worker()
{
Age = 39,
HireDate = DateTime.Parse("2010-03-22"),
HireTime = DateTime.Parse("2010-03-22") + new TimeSpan(14,0,0),
HireFullDate = DateTime.Parse("2010-03-22") + new TimeSpan(14,0,0),
ID = 13,
Name = "Trevor Ashworth",
OnPTO = true,
ParentID = 5,
Avatar = "https://static.infragistics.com/xplatform/images/people/men/8.jpg",
Salary = 70,
CompletedTasks = 0.7,
Title = "Director"
},
new Worker()
{
Age = 44,
HireDate = DateTime.Parse("2014-04-04"),
HireTime = DateTime.Parse("2014-04-04") + new TimeSpan(14,0,0),
HireFullDate = DateTime.Parse("2014-04-04") + new TimeSpan(14,0,0),
ID = 17,
Name = "Antonio Moreno",
OnPTO = false,
ParentID = 18,
Avatar = "https://static.infragistics.com/xplatform/images/people/men/9.jpg",
Salary = 52,
CompletedTasks = 0.52,
Title = "Senior Accountant"
},
new Worker()
{
Age = 50,
HireDate = DateTime.Parse("2007-11-18"),
HireTime = DateTime.Parse("2007-11-18") + new TimeSpan(14,0,0),
HireFullDate = DateTime.Parse("2007-11-18") + new TimeSpan(14,0,0),
ID = 7,
Name = "Pedro Rodriguez",
OnPTO = false,
ParentID = 10,
Avatar = "https://static.infragistics.com/xplatform/images/people/men/10.jpg",
Salary = 43,
CompletedTasks = 0.43,
Title = "Senior Localization Developer"
},
new Worker()
{
Age = 27,
HireDate = DateTime.Parse("2016-02-19"),
HireTime = DateTime.Parse("2016-02-19") + new TimeSpan(14,0,0),
HireFullDate = DateTime.Parse("2016-02-19") + new TimeSpan(14,0,0),
ID = 8,
Name = "Casey Harper",
OnPTO = true,
ParentID = 10,
Avatar = "https://static.infragistics.com/xplatform/images/people/women/5.jpg",
Salary = 35,
CompletedTasks = 0.35,
Title = "Senior Localization"
},
new Worker()
{
Age = 25,
HireDate = DateTime.Parse("2017-11-09"),
HireTime = DateTime.Parse("2017-11-09") + new TimeSpan(14,0,0),
HireFullDate = DateTime.Parse("2017-11-09") + new TimeSpan(14,0,0),
ID = 15,
Name = "Patricia Simpson",
OnPTO = false,
ParentID = 7,
Avatar = "https://static.infragistics.com/xplatform/images/people/women/6.jpg",
Salary = 15,
CompletedTasks = 0.15,
Title = "Localization Intern"
},
new Worker()
{
Age = 39,
HireDate = DateTime.Parse("2010-03-22"),
HireTime = DateTime.Parse("2010-03-22") + new TimeSpan(14,0,0),
HireFullDate = DateTime.Parse("2010-03-22") + new TimeSpan(14,0,0),
ID = 9,
Name = "Francisco Chang",
OnPTO = false,
ParentID = 7,
Avatar = "https://static.infragistics.com/xplatform/images/people/men/26.jpg",
Salary = 15,
CompletedTasks = 0.15,
Title = "Localization Intern"
},
new Worker()
{
Age = 25,
HireDate = DateTime.Parse("2018-03-18"),
HireTime = DateTime.Parse("2018-03-18") + new TimeSpan(14,0,0),
HireFullDate = DateTime.Parse("2018-03-18") + new TimeSpan(14,0,0),
ID = 16,
Name = "Peter Lewis",
OnPTO = true,
ParentID = 7,
Avatar = "https://static.infragistics.com/xplatform/images/people/men/27.jpg",
Salary = 15,
CompletedTasks = 0.15,
Title = "Localization Intern"
}
};
this.AddRange(data);
}
}
publicclassWorker
{
publicint ID { get; set; }
publicint ParentID { get; set; }
publicstring Name { get; set; }
publicstring Title { get; set; }
publicstring Avatar { get; set; }
publicint Age { get; set; }
publicint Salary { get; set; }
publicdouble CompletedTasks { get; set; }
publicbool OnPTO { get; set; }
public DateTime HireDate { get; set; }
public DateTime HireTime { get; set; }
public DateTime HireFullDate { get; set; }
}
//end datacs
@using IgniteUI.Blazor.Controls<style>/*
CSS styles are loaded from the shared CSS file located at:
https://static.infragistics.com/xplatform/css/samples/
*/img {
width: 50px;
}
</style><divclass="container vertical ig-typography"><divclass="container vertical fill"><IgbTreeGridAutoGenerate="false"Data="WorkersDataSource"PrimaryKey="ID"ForeignKey="ParentID"AllowFiltering="true"FilterMode="FilterMode.ExcelStyleFilter"Locale="EN"SummaryCalculationMode="GridSummaryCalculationMode.RootLevelOnly"
><IgbColumnField="Name"Header="Full Name"DataType="GridColumnDataType.String"Width="220px"Sortable="true"HasSummary="true"Editable="true"Resizable="true"
></IgbColumn><IgbColumnField="Avatar"Header="Photo"DataType="GridColumnDataType.Image"Width="120px"Resizable="true"
></IgbColumn><IgbColumnField="Title"Header="Title"DataType="GridColumnDataType.String"Width="250px"Sortable="true"HasSummary="true"Editable="true"Resizable="true"
></IgbColumn><IgbColumnField="Age"Header="Age"DataType="GridColumnDataType.Number"Width="120px"Sortable="true"HasSummary="true"Editable="true"Resizable="true"
></IgbColumn><IgbColumnField="HireFullDate"Header="Hire Full Date"DataType="GridColumnDataType.DateTime"Width="300px"Sortable="true"HasSummary="true"Editable="true"Resizable="true"PipeArgs="ColumnPipeArgs1"
></IgbColumn><IgbColumnField="HireDate"Header="Hire Date"DataType="GridColumnDataType.Date"Width="160px"Sortable="true"HasSummary="true"Editable="true"Resizable="true"PipeArgs="ColumnPipeArgs2"
></IgbColumn><IgbColumnField="HireTime"Header="Hire Time"DataType="GridColumnDataType.Time"Width="160px"Sortable="true"HasSummary="true"Editable="true"Resizable="true"PipeArgs="ColumnPipeArgs3"
></IgbColumn><IgbColumnField="Salary"Header="Salary"DataType="GridColumnDataType.Currency"Width="120px"Sortable="true"HasSummary="true"Editable="true"Resizable="true"PipeArgs="ColumnPipeArgs4"
></IgbColumn><IgbColumnField="CompletedTasks"Header="Completed Tasks"DataType="GridColumnDataType.Percent"Width="200px"Sortable="true"Editable="true"Resizable="true"PipeArgs="ColumnPipeArgs5"
></IgbColumn><IgbColumnField="OnPTO"Header="On PTO"DataType="GridColumnDataType.Boolean"Width="120px"Sortable="true"Editable="true"Resizable="true"
></IgbColumn></IgbTreeGrid></div></div>@code {public IgbColumnPipeArgs ColumnPipeArgs1 = new IgbColumnPipeArgs()
{
Format = "long",
Timezone = "UTC+0"
};
public IgbColumnPipeArgs ColumnPipeArgs2 = new IgbColumnPipeArgs()
{
Format = "mediumDate"
};
public IgbColumnPipeArgs ColumnPipeArgs3 = new IgbColumnPipeArgs()
{
Format = "shortTime",
Timezone = "UTC+0"
};
public IgbColumnPipeArgs ColumnPipeArgs4 = new IgbColumnPipeArgs()
{
CurrencyCode = "",
DigitsInfo = "1.3-3"
};
public IgbColumnPipeArgs ColumnPipeArgs5 = new IgbColumnPipeArgs()
{
DigitsInfo = "2.2-3"
};
private WorkersData _WorkersData = null;
public WorkersData WorkersDataSource
{
get
{
if (_WorkersData == null)
{
_WorkersData = new WorkersData();
}
return _WorkersData;
}
}
}razor
/*
CSS styles are loaded from the shared CSS file located at:
https://static.infragistics.com/xplatform/css/samples/
*/img {
width: 50px;
}
css
このサンプルが気に入りましたか? 完全な Ignite UI for Blazorツールキットにアクセスして、すばやく独自のアプリの作成を開始します。無料でダウンロードできます。
<IgbColumnField="Date"DataType="GridColumnDataType.Date"PipeArgs=formatDateOptions></IgbColumn>@code {private IgbColumnPipeArgs formatDateOptions = new IgbColumnPipeArgs()
{
/** The date/time components that a date column will display, using predefined options or a custom format string. *//** e.g 'dd/mm/yyyy' or 'shortDate' **/
Format = "longDate",
/** A timezone offset (such as '+0430'), or a standard UTC/GMT or continental US timezone abbreviation. */
Timezone = "GMT"
};
}razor
デフォルトのテンプレートは、デフォルの画像テンプレートへの画像ソースとしてデータからの値を使用しています。デフォルトの画像テンプレートは、画像ファイルの名前を抽出し、アクセシビリティ要件を満たすために画像の alt 属性として設定します。表示されるセル サイズは描画される画像のサイズに合わせて調整されるため、大きな画像も描画され、グリッド行は画像列の画像と同じ大きさになることに注意してください。画像タイプの列では、フィルタリング、ソート、およびグループ化はデフォルトでオフになっています。それらを有効にしたい場合は、データ操作を実行するカスタム ストラテジを提供する必要があります。
<IgbColumnField="UnitsInStock"DataType="GridColumnDataType.Percent"PipeArgs=formatPercentOptions></IgbColumn>@code {private IgbColumnPipeArgs formatPercentOptions = new IgbColumnPipeArgs()
{
/**
* Decimal representation options, specified by a string in the following format:
* `{minIntegerDigits}`.`{minFractionDigits}`-`{maxFractionDigits}`.
* `minIntegerDigits`: The minimum number of integer digits before the decimal point. Default is 1.
* `minFractionDigits`: The minimum number of digits after the decimal point. Default is 0.
* `maxFractionDigits`: The maximum number of digits after the decimal point. Default is 3.
*/
DigitsInfo = "2.2-3"
};
}razor