Blazor コントロール
クイックスタート
コントロール > Inputコントロール > ComboBox > クイックスタート

This quick start guides you through the steps of adding the ComboBox control in your Blazor application, adding data to it and displaying the data in the control. In this example, we create a data source by creating a list of countries and bind the list to the control to display the names of countries in the control.

ComboBox binding

Create a Blazor App

  1. In Visual Studio, select Create a new project from the Get Started pane.
  2. In the Create a new project dialog, select Blazor App and click Next.
  3. In the Configure your new project dialog, provide name of the project you want to create in the Project name field and location for the project in the Location field. Click Create.
  4. In the Create a new Blazor app dialog, select Blazor Server App template and click Create. A new server-side Blazor app is created.
    Note: Blazor Client-side app or WebAssembly app can be created using the Blazor WebAssembly App template. For details, check the Blazor WebAssembly topic in Blazor templates.

Back to Top

Configure References

  1. In the Solution Explorer, right click Dependencies and select Manage NuGet Packages.
  2. In NuGet Package Manager, select nuget.org as the Package source.
  3. Search for C1.Blazor.Input package and click Install.
  4. Navigate to the wwwroot, open index.html file.
  5. Register the client resources by adding the following lines of code to the <head> tag.
    Example Title
    コードのコピー
    <link rel="stylesheet" href="/_content/C1.Blazor.Core/styles.css" />
    <link rel="stylesheet" href="/_content/C1.Blazor.Input/styles.css" />
    
  6. Add the following code to the <body> tag.
    HTML
    コードのコピー
    <script src="/_content/C1.Blazor.Core/scripts.js"></script>
    <script src="/_content/C1.Blazor.Input/scripts.js"></script>
    
  7. Right click on Pages folder, click Add | Razor Component to add a new Razor page and then provide a name, say ComboBoxQuickStart.
  8. Add the required directives to initialize and use the ComboBox control in the new Razor page.
    Razor
    コードのコピー
    @using C1.Blazor.Input
    

Back to Top

Configure the Data Source

In the Data folder, add a class, say Country, and add the following code.

C#
コードのコピー
public class Country
    {
        public override string ToString()
        {
            return Name;
        }

        public string Code { get; set; }
        public string Name { get; set; }

        public static List<Country> GetCountries()
        {

            var assembly = typeof(Country).GetTypeInfo().Assembly;
            var stream = assembly.GetManifestResourceStream("ComboBox.Data.countries.json");
            var json = new System.IO.StreamReader(stream).ReadToEnd();
            var countries = JsonSerializer.Deserialize<Dictionary<string, string>>(json);

            var listContries = new List<Country>();

            foreach (var item in countries)
            {
                listContries.Add(new Country() { Code = item.Key, Name = item.Value.ToString() });
            }
            return listContries.OrderBy(c => c.Name).ToList();
        }
     }
}

Back to Top

Bind ComboBox to Data

To bind ComboBox to data, set the ItemsSource property and type of the type parameter T for C1ComboBox component. Here, the ItemsSource property accepts the collection of items for the ComboBox control.

Replace the existing code in the Pages\Index.razor page with the following code.

Razor
コードのコピー
@using C1.Blazor.Input
<C1ComboBox ItemsSource="countries" T="Country" Text="Select a Country" />

@code
{
    IEnumerable<Country> countries;
        
    protected override void OnInitialized()
    {
        countries = Country.GetCountries();
    }
}

Back to Top

Build and Run the Project

  1. Click Build | Build Solution to build the project.
  2. Press F5 to run the project.

Back to Top