I am currently manually databinding a RadGrid via server side. Although when I try to edit a record the Grid clears out, until I bind it again, then the item goes into edit mode. I'm not sure how to resolve this. Below is the code I have so far.
ASPX
C#
ASPX
<telerik:RadAjaxLoadingPanel ID="itemsLoadingPanel" runat="server" Skin="Vista" Transparency="30"></telerik:RadAjaxLoadingPanel> <telerik:RadAjaxPanel ID="itemsPanel" runat="server" LoadingPanelID="itemsLoadingPanel"> <div> <telerik:RadTextBox ID="itemSearchPSTxt" runat="server" EmptyMessage="PS #" /> <telerik:RadTextBox ID="itemSearchDescriptionTxt" runat="server" EmptyMessage="Description" /> <telerik:RadTextBox ID="itemSearchPartNumTxt" runat="server" EmptyMessage="Part #" /> <telerik:RadButton ID="itemSearchBtn" runat="server" Text="Search" OnClick="itemSearchBtn_Click"/> <asp:Label ID="itemSearchErrorlbl" runat="server" Text="*You must input a search value" CssClass="error" Visible="false" /> </div> <telerik:RadGrid ID="itemsRadGrid" runat="server" AutoGenerateColumns="true" AutoGenerateEditColumn="true" AllowPaging="true" OnItemCommand="itemsRadGrid_ItemCommand"> <MasterTableView CommandItemDisplay="Top" NoMasterRecordsText="No Records" EditMode="PopUp"> <CommandItemSettings ShowAddNewRecordButton="false" ShowRefreshButton="false" /> <EditFormSettings EditFormType="Template" PopUpSettings-Modal="true" PopUpSettings-Width="720px" CaptionFormatString="Edit Item"> <FormTemplate> <table> <tr> <td>Description:</td> <td>Part Number:</td> <td>Category:</td> </tr> <tr> <td><telerik:RadTextBox ID="editItemDescription" runat="server" /></td> <td><telerik:RadTextBox ID="editItemPartNum" runat="server" /></td> <td><telerik:RadTextBox ID="editItemCategory" runat="server" /></td> </tr> <tr> <td>Internal Account Number:</td> <td>Status:</td> <td></td> </tr> <tr> <td><telerik:RadTextBox ID="editItemAcctNum" runat="server" /></td> <td><telerik:RadTextBox ID="editItemStatus" runat="server" Text /></td> <td></td> </tr> <tr> <td>Expires: <asp:DropDownList ID="editItemExpires" runat="server"><asp:ListItem Text="Yes" Value="1" /><asp:ListItem Text="No" Value="0" /></asp:DropDownList></td> <td>Serial Numbered: <asp:DropDownList ID="editItemSerialNum" runat="server"><asp:ListItem Text="Yes" Value="1" /><asp:ListItem Text="No" Value="0" /></asp:DropDownList></td> <td>Lot Numbered: <asp:DropDownList ID="editItemLotNum" runat="server"><asp:ListItem Text="Yes" Value="1" /><asp:ListItem Text="No" Value="0" /></asp:DropDownList></td> <td>Consigned: <asp:DropDownList ID="editItemConsigned" runat="server"><asp:ListItem Text="Yes" Value="1" /><asp:ListItem Text="No" Value="0" /></asp:DropDownList></td> </tr> <tr> <td>OEM:</td> <td>OEM ID:</td> <td>OEM Item ID:</td> </tr> <tr> <td><telerik:RadTextBox ID="editItemOEM" runat="server" /></td> <td><telerik:RadTextBox ID="editItemOEMID" runat="server" /></td> <td><telerik:RadTextBox ID="editItemOEMItemID" runat="server" /></td> </tr> <tr> <td>Vendor:</td> <td>Vendor ID:</td> <td>Vendor Item ID:</td> </tr> <tr> <td><telerik:RadTextBox ID="editItemVendor" runat="server" /></td> <td><telerik:RadTextBox ID="editItemVendorID" runat="server" /></td> <td><telerik:RadTextBox ID="editItemVendorItemID" runat="server" /></td> </tr> <tr> <td>Vendor Price:</td> <td>Price Each:</td> <td>Cost Code:</td> <td>Conversion Rate:</td> <td>Unit of Measure:</td> </tr> <tr> <td><telerik:RadTextBox ID="editItemVendorPrice" runat="server" /></td> <td><telerik:RadTextBox ID="editItemPriceEach" runat="server" /></td> <td><telerik:RadTextBox ID="editItemCostCode" runat="server" /></td> <td><telerik:RadTextBox ID="editItemCoversionRate" runat="server" /></td> <td><telerik:RadTextBox ID="editItemUnitMeasure" runat="server" /></td> </tr> <tr> <td colspan="4"><telerik:RadButton ID="editItemUpdateBtn" runat="server" Text="Update" /></td> </tr> </table> </FormTemplate> </EditFormSettings> </MasterTableView> </telerik:RadGrid> </telerik:RadAjaxPanel>C#
protected void itemSearchBtn_Click (object sender, EventArgs e) { itemSearchErrorlbl.Visible = false; string PartNum = itemSearchPartNumTxt.Text; string Description = itemSearchDescriptionTxt.Text; string PSNum = itemSearchPSTxt.Text; string whereStatement = ""; if (PartNum != "" || Description != "" || PSNum != "") { if (PartNum != "") { whereStatement = "items.PartNumber = " + "'" + PartNum + "'"; } if (Description != "") { // See if there is already a statement to see if we need to add AND if (whereStatement == "") { whereStatement = "items.Description like " + "'%" + Description + "%'"; } else { whereStatement = whereStatement + " AND items.Description like " + "'%" + Description + "%'"; } } if (PSNum != "") { if (whereStatement == "") { whereStatement = "items.CrossRefID = " + "'" + PSNum + "'"; } else { whereStatement = whereStatement + " AND items.CrossRefID = " + "'" + PSNum + "'"; } } itemsRadGrid.DataSource = GetDataTable("SELECT ItemParValues.ID, Min, Max, Locations.Name, ItemID FROM ItemParValues INNER JOIN items on ItemParValues.ItemID = items.ID INNER JOIN Locations on Locations.ID = ItemParValues.LocationID WHERE " + whereStatement); itemsRadGrid.DataBind(); } else // Display error itemSearchErrorlbl.Visible = true; } protected void itemsRadGrid_ItemCommand(object sender, GridCommandEventArgs e) { if (e.CommandName == RadGrid.EditCommandName) { } } public DataTable GetDataTable(string queryString) { using (SqlCommand cmd = new SqlCommand(queryString, connection)) { SqlDataAdapter da = new SqlDataAdapter(cmd); DataTable dt = new DataTable(); da.Fill(dt); return dt; } }