This is a migrated thread and some comments may be shown as answers.

Edit Item Grid DataBind

2 Answers 112 Views
Grid
This is a migrated thread and some comments may be shown as answers.
William
Top achievements
Rank 1
William asked on 19 Jul 2011, 06:13 PM
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
<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;
            }
 
              
        }

2 Answers, 1 is accepted

Sort by
0
Accepted
Princy
Top achievements
Rank 2
answered on 20 Jul 2011, 07:36 AM
Hello William,

One suggestion is to populate the grid in a function and call that when in editmode. Also you can use advanced data-binding through its NeedDataSource event. Check the help documentation Advanced Data-binding (using NeedDataSource event) for further information.

Thanks,
Princy.
0
William
Top achievements
Rank 1
answered on 20 Jul 2011, 03:39 PM
Populating the grid in a separate function, and calling that when the item is in edit mode worked. I'll also take a look at the NeedDataSource event. Thanks!
Tags
Grid
Asked by
William
Top achievements
Rank 1
Answers by
Princy
Top achievements
Rank 2
William
Top achievements
Rank 1
Share this question
or