Hi friends,<BR> I am developing a site using asp.net. I need to display a Data grid having 4 columns. In addition I will be having edit/ update/cancel column. At the footer I will be having the new row link(hyperlink button). When the user clicks on the new row. he should get a new empty row on the top of all the rows. Can any one help me in this area.<BR>Thankyou in advance.<BR>chandra sekhar.The following is a working example you can use. Just pull out the pieces you need.<BR><BR>TomTT<BR><BR><%@ Page Language="VB" Debug = "True" %><BR><%@ Import NameSpace="System.Data" %><BR><%@ Import NameSpace="System.Xml" %><BR><BR><SCRIPT RUNAT="SERVER"><BR><BR>Dim objDataSet As New DataSet("objDataSet")<BR><BR>Dim xmlTestTable As DataTable = objDataSet.Tables.Add("xmlTestTable")<BR><BR>Dim strXML As String<BR><BR><BR>Sub Page_Load(obj as Object, e as EventArgs)<BR><BR>' === SPECIFY COLUMNS SINCE A BLANK ROW CAN BE ADDED.<BR><BR> With objDataSet.Tables("xmlTestTable") <BR><BR> .Columns.Add("FName", System.Type.GetType("System.String"))<BR><BR> .Columns.Add("LName", System.Type.GetType("System.String"))<BR><BR> End With<BR><BR>' === FIRST TIME THRU, SAVE A COPY OF DATASET TO VIEWSTATE.<BR><BR> If Not Page.IsPostBack Then<BR><BR> FirstRow()<BR> objDGrid.EditItemIndex = 0<BR> BindIt()<BR><BR> End If<BR><BR> GetIt() ' GET DATA FROM VIEWSTATE.<BR><BR>End Sub<BR><BR>' === SaveIt SUB CONVERTS DATASET TO XML STRING, PUTS IN VIEWSTATE.<BR><BR>Sub SaveIt()<BR><BR> strXML = objDataSet.GetXml()<BR><BR> ViewState("strData")=strXML <BR>End Sub<BR><BR>' === GetIt SUB GETS XMLSTRING AND RECREATES DATASET.<BR><BR>Sub GetIt()<BR><BR> If Not ViewState("strData") Is Nothing then<BR><BR> objDataSet.Clear()<BR><BR> strXML = ViewState("strData").ToString() <BR><BR> Dim strReader As New System.IO.StringReader(strXML) <BR><BR> objDataSet.Readxml(strReader) <BR><BR> End If<BR><BR>End Sub<BR><BR>' === ADD A NEW ROW WHEN PAGE IS FIRST LOADED.<BR><BR>Sub FirstRow()<BR><BR> GetIt() <BR><BR> Dim AddaRow As DataRow = objDataSet.Tables("xmlTestTable").NewRow()<BR><BR> AddaRow.Item("FName") = " "<BR> AddaRow.Item("LName") = " "<BR><BR> objDataSet.Tables("xmlTestTable").Rows.Add(AddaRow)<BR><BR> SaveIt() <BR><BR>End Sub<BR><BR><BR>' === ADD A NEW ROW TO DATASET. BLANK ROW ENTRY IS OK.<BR><BR>Sub AddRow(obj as Object, e as EventArgs)<BR><BR> GetIt() <BR><BR> Dim AddaRow As DataRow = objDataSet.Tables("xmlTestTable").NewRow()<BR><BR> AddaRow.Item("FName") = " "<BR> AddaRow.Item("LName") = " "<BR><BR> objDataSet.Tables("xmlTestTable").Rows.Add(AddaRow)<BR><BR> SaveIt() ' SAVE REVISED DS TO VIEWSTATE.<BR> <BR> BindIt() ' REBIND REVISED DS TO GRID.<BR><BR>End Sub<BR><BR>' === STANDARD SUB FOR BINDING DATASET TO DATAGRID.<BR><BR>Sub BindIt()<BR><BR> objDGrid.DataSource = objDataSet.Tables("xmlTestTable")<BR><BR> objDGrid.DataBind()<BR><BR>End Sub<BR><BR>' === EDIT LINK CLICKED ON DATAGRID. PUTS GRID IN EDIT MODE.<BR><BR>Sub EditGrid(obj as object, e as DataGridCommandEventArgs)<BR><BR> GetIt()<BR> objDGrid.EditItemIndex = e.Item.ItemIndex<BR> SaveIt()<BR> BindIt() <BR><BR>End Sub<BR><BR>' === CANCEL LINK CLICKED ON DATAGRID. <BR><BR>Sub CancelGrid(obj as object, e as DataGridCommandEventArgs)<BR> <BR> GetIt()<BR> objDGrid.EditItemIndex = -1<BR> SaveIt()<BR> BindIt()<BR><BR>End Sub<BR><BR>' === UPDATE LINK CLICKED ON DATAGRID. UPDATE DATASET WITH DATAGRID EDITS.<BR><BR>Sub UpDateGrid(obj As object, e As DataGridCommandEventArgs)<BR><BR> Dim gRow As Integer = objDGrid.EditItemIndex <BR><BR> Dim txtFName As TextBox = e.Item.Cells(0).Controls(0)<BR> Dim txtLName As TextBox = e.Item.Cells(1).Controls(0)<BR><BR> GetIt()<BR><BR> objDataSet.Tables("xmlTestTable").Rows(gRow)(0) = txtFName.text<BR> objDataSet.Tables("xmlTestTable").Rows(gRow)(1) = txtLName.text<BR><BR> objDGrid.EditItemIndex = -1 <BR><BR> SaveIt() <BR><BR> BindIt() <BR>End Sub<BR><BR> ' === SUB TO SAVE DATASET CHANGES BACK TO SOURCE DATABASE.<BR><BR>Sub SaveAll(obj as Object, e as EventArgs)<BR><BR> Response.Write("Your DataBase Update Sub Runs At Here.")<BR><BR>End Sub <BR><BR></SCRIPT><BR><BR><BR><BR><HTML><BODY><BR><BR><FORM Runat="Server" EnableViewState = "True" ><BR><BR><ASP:Button ID="btnSubmit" <BR> Text="Add New Row" Runat="Server" <BR> OnClick="AddRow" /><BR><BR><BR/><BR/><BR><BR><ASP
ataGrid ID="objDGrid"<BR> Runat="Server"<BR> OnEditCommand = "EditGrid"<BR> OnCancelCommand = "CancelGrid"<BR> OnUpdateCommand = "UpdateGrid"<BR> Width = "350" <BR> AutoGenerateColumns = "False"><BR><BR> <Columns><BR><BR> <ASP:BoundColumn HeaderText = "First Name" <BR> DataField = "FName"><BR> <ItemStyle Width = "150"/><BR><BR> </ASP:BoundColumn><BR><BR> <ASP:BoundColumn HeaderText = "Last Name" <BR> DataField = "LName"> <ItemStyle Width = "150"/> <BR> <BR> </ASP:BoundColumn><BR><BR><BR> <ASP:EditCommandColumn EditText = "Add/Edit"<BR> CancelText = "Cancel"<BR> UpdateText = "Enter"<BR> ItemStyle-Wrap = "False"<BR> HeaderText = "Add/Edit" ><BR> <ItemStyle Font-Size = "8"/><BR><BR> </ASP:EditCommandColumn><BR><BR> </Columns><BR><BR> </ASP
ataGrid><BR><BR> </FORM><BR><BR></BODY></HTML>

