|
. . .
<SfGrid AllowPaging="true" DataSource="@Orders" Toolbar="@(new List<string>() { "Add", "Edit", "Delete", "Cancel", "Update" })">
<GridEditSettings AllowEditing="true" AllowDeleting="true" AllowAdding="true" Mode="@EditMode.Normal"></GridEditSettings>
<GridColumns>
<GridColumn Field=@nameof(Order.OrderID) HeaderText="Order ID" IsPrimaryKey="true" TextAlign="@TextAlign.Center" Width="140"></GridColumn>
<GridColumn Field=@nameof(Order.CustomerID) HeaderText="Customer Name" Width="150" EditType="EditType.DropDownEdit" ValidationRules="@(new { required=true})">
<EditTemplate>
<SfDropDownList ID="CustomerID" @ref="AutoCompletObj" TValue="string" TItem="Order"> //please ensure to provide ID as Field name
<SfDataManager AdaptorInstance="@typeof(CustomAdaptor)" Adaptor="Adaptors.CustomAdaptor"></SfDataManager>
<DropDownListFieldSettings Value="CustomerID"></DropDownListFieldSettings>
</SfDropDownList>
</EditTemplate>
</GridColumn>
. . .
</GridColumns>
</SfGrid>
@code{
SfDropDownList<string, Order> AutoCompletObj;
public static List<Order> Orders { get; set; }
. . .
// Implementing custom adaptor by extending the DataAdaptor class
public class CustomAdaptor : DataAdaptor
{
// Performs data Read operation
. . .
}
} |
<GridColumn Field=@nameof(Status.ColorDisplay)
ValidationRules="@(new { required = true })">
<Template>
@{
var status = (context as Status);
style="background-color: @status.ColorDisplay; width: 20px; height: 20px; border-radius: 2px">
}
Template>
<EditTemplate>
@{
var status = (context as Status);
<SfColorPicker ID="ColorDisplay"
Value="@status.ColorDisplay" Mode="ColorPickerMode.Palette"/>
}
EditTemplate>
[Required]
public string ColorDisplay