Hi,
Please see the following sample
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Collections.Generic"%>
<%@ Register Assembly="Coolite.Ext.Web" Namespace="Coolite.Ext.Web" TagPrefix="ext" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>
<script type="text/javascript">
function NextRow(command, record, row, col) {
this.insertRecord(row+1, { CONTACT: record.data.CONTACT, AREA: record.data.AREA, STREET: record.data.STREET, CITY: record.data.CITY, IMAGE: record.data.IMAGE });
this.view.refresh();
}
</script>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.Store1.DataSource = new List<Project>
{
new Project("ABC", "AB", "A", "Cbe1", "0"),
new Project("ABC", "AB", "A", "Cbe2", "1"),
new Project("DEF", "DE", "D", "Cbe3", "2"),
new Project("DEF", "DE", "D", "Cbe4", "3"),
new Project("GHI", "GH", "G", "Cbe5", "4"),
new Project("GHI", "GH", "G", "Cbe6", "5"),
new Project("JKL", "JK", "J", "Cbe7", "6"),
new Project("JKL", "JK", "J", "Cbe8", "7"),
new Project("MNO", "MN", "M", "Cbe9", "8"),
new Project("MNO", "MN", "M", "Cbe10", "9")
};
this.Store1.DataBind();
}
}
public class Project
{
public Project(string contact, string area, string street, string city, string image)
{
this.CONTACT = contact;
this.AREA = area;
this.STREET = street;
this.CITY = city;
this.IMAGE = image;
}
public string CONTACT { get; set; }
public string AREA { get; set; }
public string STREET { get; set; }
public string CITY { get; set; }
public string IMAGE { get; set; }
}
</script>
</head>
<body>
<form id="form1" runat="server">
<ext:ScriptManager ID="ScriptManager1" runat="server" >
</ext:ScriptManager>
<ext:Store ID="Store1" runat="server" GroupField="CONTACT">
<Reader>
<ext:JsonReader ReaderID="ID">
<Fields>
<ext:RecordField Name="CONTACT">
</ext:RecordField>
<ext:RecordField Name="AREA">
</ext:RecordField>
<ext:RecordField Name="STREET">
</ext:RecordField>
<ext:RecordField Name="CITY">
</ext:RecordField>
<ext:RecordField Name="IMAGE">
</ext:RecordField>
</Fields>
</ext:JsonReader>
</Reader>
</ext:Store>
<ext:ViewPort ID="ViewPort1" runat="server">
<Body>
<ext:BorderLayout ID="BorderLayout1" runat="server">
<Center>
<ext:Panel ID="Panel7" runat="server">
<Body>
<ext:FitLayout ID="FitLayout2" runat="server">
<ext:GridPanel ID="GridPanel1" runat="server" StoreID="Store1">
<ColumnModel>
<Columns>
<ext:GroupingSummaryColumn DataIndex="CONTACT" Header="Contact">
</ext:GroupingSummaryColumn>
<ext:Column DataIndex="AREA" Header="Area">
</ext:Column>
<ext:Column DataIndex="STREET" Header="Street">
</ext:Column>
<ext:Column DataIndex="CITY" Header="City">
</ext:Column>
<ext:ImageCommandColumn Width="110">
<Commands>
<ext:ImageCommand CommandName="Add" Icon="Add">
</ext:ImageCommand>
</Commands>
</ext:ImageCommandColumn>
</Columns>
</ColumnModel>
<Listeners>
<Command Fn="NextRow" />
</Listeners>
<SelectionModel>
<ext:RowSelectionModel ID="RowSelectionModel1" runat="server">
</ext:RowSelectionModel>
</SelectionModel>
<View>
<ext:GroupingView ID="GroupingView1" runat="server" ForceFit="true"
StartCollapsed="false" EnableRowBody="true" HideGroupedColumn="false">
</ext:GroupingView>
</View>
<Buttons>
<ext:Button ID="Btn_Add" runat="server" Text="Add" AutoPostBack="false" Icon="NoteAdd">
</ext:Button>
<ext:Button ID="Btn_Edit" runat="server" Text="Edit" AutoPostBack="false" Icon="NoteEdit">
</ext:Button>
</Buttons>
</ext:GridPanel>
</ext:FitLayout>
</Body>
</ext:Panel>
</Center>
</ext:BorderLayout>
</Body>
</ext:ViewPort>
</form>
</body>
</html>