|
<ej:Grid ID="Grid" runat="server" AllowPaging="True" >
<EditSettings AllowEditing="true" AllowAdding="true" AllowDeleting="true"></EditSettings>
<ToolbarSettings ShowToolbar="true" ToolbarItems="add,edit,delete,update,cancel"></ToolbarSettings>
<Columns>
<ej:Column Field="OrderID" HeaderText="Order ID" IsPrimaryKey="true" TextAlign="Right" Width="90"></ej:Column>
<ej:Column Field="CustomerName" HeaderText="Customer Name" Width="90" />
<ej:Column Field="OrderList" HeaderText="OrderList" Width="90">
<EditTemplate Create="create" Read="read" Write="write" />
</ej:Column>
</Columns>
</ej:Grid>
<script type="text/javascript">
function create(args) {
return "<input>";
}
function read(args) {
return args.ejDropDownList("getValue").split(",");
}
function write(args) {
var dropData = args.column[2].dataSource;
var selIndex = [];
if (args.rowdata != undefined) {
for (i = 0; i < args.rowdata["OrderList"].length; i++)
for (j = 0; j < dropData.length; j++) {
if (args.rowdata["OrderList"][i] == dropData[j].value) {
selIndex.push(j);
break;
}
}
} //Render multiSelect DropdownList
args.element.ejDropDownList({ width: "100%", dataSource: dropData, fields: { id: "text", text: "text", value: "value" }, showCheckbox: true, allowMultiSelection: true, selectedItems: args.rowdata !== undefined ? selIndex : "" });
}
</script>
Serverside:-
protected void Page_Load(object sender, EventArgs e)
{
BindDataSource();
var drop = list.ToList();
var dropData = new List<object>();
foreach (var li in drop)
{
dropData.Add(new { value = li, text = li });
}
this.Grid.Columns[2].DataSource = dropData; //Bind DataSource for the Dropdownlist column in the form of text and value pair
this.Grid.DataSource = order.ToList();
this.Grid.DataBind();
}
public static List<OrderData> BindDataSource()
{
list.Add("Cream");
list.Add("Milk");
list.Add("Eggs");
list.Add("Butter");
list.Add("Curd");
list.Add("yogurt");
List<string> list1 = new List<string>();
list1.Add("Cream");
list1.Add("Eggs");
list1.Add("Curd");
List<string> list2 = new List<string>();
list2.Add("Cream");
list2.Add("Milk");
list2.Add("Butter");
list2.Add("yogurt");
var ordID = 100;
var cusID = 200;
for (int i = 1; i < 9; i++)
{
order.Add(new OrderData(cusID + 1, "Sam", ordID + 2, list));
order.Add(new OrderData(cusID + 2, "Mercy", ordID + 4, list1));
ordID += 1;
cusID += 6;
}
return order;
}
public class OrderData
{
public OrderData()
{
}
public OrderData(int CustomerID, string CustomerName, int OrderID, List<string> OrderList)
{
. . .
this.OrderList = OrderList;
}
public int? OrderID { get; set; }
public int CustomerID { get; set; }
public List<string> OrderList { get; set; }
public string CustomerName { get; set; }
} |