Telerik Forums
UI for ASP.NET AJAX Forum
4 answers
339 views
Hi All,

I have an ajaxified grid for which I'm trying to add a button to a certain group header.  In this case I'm just trying to display the button where the Display Name is.

  <telerik:GridGroupByExpression><br>                                        <GroupByFields><br>                                            <telerik:GridGroupByField FieldName="DisplayName" FieldAlias="DisplayName" HeaderText="Employee"<br>                                                HeaderValueSeparator=": " Aggregate="None" /><br>                                            <telerik:GridGroupByField FieldName="UserId" FieldAlias="UserId" HeaderText="" HeaderValueSeparator=""<br>                                                Aggregate="None" /><br>                                            <telerik:GridGroupByField FieldName="CheckNumber" FieldAlias="CheckNumber" HeaderText=""<br>                                                HeaderValueSeparator="" Aggregate="None" /><br>                                            <telerik:GridGroupByField FieldName="appliedToDate" FieldAlias="appliedToDate" HeaderText=""<br>                                                HeaderValueSeparator="" Aggregate="None" /><br>                                            <telerik:GridGroupByField FieldName="PaidDate" FieldAlias="PaidDate" HeaderText=""<br>                                                HeaderValueSeparator="" Aggregate="None" /><br>                                            <telerik:GridGroupByField FieldName="LineHeaderID" FieldAlias="LineHeaderID" HeaderText=""<br>                                                HeaderValueSeparator="" Aggregate="None" /><br>                                        </GroupByFields><br>                                        <SelectFields><br>                                            <telerik:GridGroupByField FieldName="DisplayName" FieldAlias="DisplayName" HeaderText="Employee"<br>                                                HeaderValueSeparator=": " Aggregate="None" /><br>                                            <telerik:GridGroupByField FieldName="RequestedAmount" FieldAlias="RequestedAmount"<br>                                                HeaderText="<br />Requested Total" HeaderValueSeparator=": $" Aggregate="Sum" /><br>                                            <telerik:GridGroupByField FieldName="ApprovedAmount" FieldAlias="ApprovedAmount"<br>                                                HeaderText="Approved Total" HeaderValueSeparator=": $" Aggregate="Sum" /><br>                                        </SelectFields><br>                                    </telerik:GridGroupByExpression><br>                                    <telerik:GridGroupByExpression><br>                                        <GroupByFields><br>                                            <telerik:GridGroupByField FieldName="Category" FieldAlias="Category" HeaderText="Category"<br>                                                HeaderValueSeparator=": " Aggregate="None" /><br>                                        </GroupByFields><br>                                        <SelectFields><br>                                            <telerik:GridGroupByField FieldName="CategoryText" FieldAlias="CategoryText" HeaderText="Category"<br>                                                HeaderValueSeparator=": " Aggregate="None" /><br>                                            <telerik:GridGroupByField FieldName="RequestedAmount" FieldAlias="RequestedAmount"<br>                                                HeaderText="Requested Total" HeaderValueSeparator=": $" Aggregate="Sum" /><br>                                            <telerik:GridGroupByField FieldName="ApprovedAmount" FieldAlias="ApprovedAmount"<br>                                                HeaderText="Total" HeaderValueSeparator=": $" Aggregate="Sum" /><br>                                        </SelectFields><br>                                    </telerik:GridGroupByExpression><br>                                    <telerik:GridGroupByExpression><br>                                        <GroupByFields><br>                                            <telerik:GridGroupByField FieldName="order_no" FieldAlias="order_no" HeaderText="Order Number"<br>                                                HeaderValueSeparator=": " Aggregate="None" /><br>                                        </GroupByFields><br>                                        <SelectFields><br>                                            <telerik:GridGroupByField FieldName="order_no" FieldAlias="order_no" HeaderText="Order Number"<br>                                                HeaderValueSeparator=": " Aggregate="None" /><br>                                            <telerik:GridGroupByField FieldName="RequestedAmount" FieldAlias="RequestedAmount"<br>                                                HeaderText="Requested Total" HeaderValueSeparator=": $" Aggregate="Sum" /><br>                                            <telerik:GridGroupByField FieldName="ApprovedAmount" FieldAlias="ApprovedAmount"<br>                                                HeaderText="Total" HeaderValueSeparator=": $" Aggregate="Sum" /><br>                                        </SelectFields><br>                                    </telerik:GridGroupByExpression><br><br><br> <GroupHeaderTemplate><br>                                    <asp:Panel runat="server" ID="pnlEmployee" Visible='<%# ((((GridGroupHeaderItem)Container).AggregatesValues["DisplayName"]) != null)%>'<br>                                        Style="height: 20px !important"><br>                                        <asp:Label runat="server" ID="lblEmployee" Text='<%# "Employee: " +Eval("DisplayName")  %> '><br>                                        </asp:Label><br>                                    </asp:Panel><br>                                    <asp:Label runat="server" ID="lblCategory" Text='<%# "Category: "+ (((GridGroupHeaderItem)Container).AggregatesValues["CategoryText"]) %>'<br>                                        Visible='<%# ((((GridGroupHeaderItem)Container).AggregatesValues["CategoryText"]) != null)%>'<br>                                        Style="margin-right: 30px;"></asp:Label><br>                                    <asp:Label runat="server" ID="lblOrderNo" Text='<%# "Order Number: "+ (((GridGroupHeaderItem)Container).AggregatesValues["order_no"]) %>'<br>                                        Visible='<%# ((((GridGroupHeaderItem)Container).AggregatesValues["order_no"]) != null)%>'<br>                                        Style="margin-right: 30px;"></asp:Label><br>                                    <asp:Label runat="server" ID="lblRequestedTotal" Text='<%# "Requested Total: $"+ (((GridGroupHeaderItem)Container).AggregatesValues["RequestedAmount"]) %>'<br>                                        Visible='<%# ((((GridGroupHeaderItem)Container).AggregatesValues["RequestedAmount"]) != null)%>'<br>                                        Style="margin-left: 30px;"></asp:Label><br>                                    <asp:Label runat="server" ID="lblApprovedTotal" Text='<%# "Approved Total: <b>$" + (((GridGroupHeaderItem)Container).AggregatesValues["ApprovedAmount"]) + "</b></br>" %>'<br>                                        Visible='<%# ((((GridGroupHeaderItem)Container).AggregatesValues["ApprovedAmount"]) != null)%>'<br>                                        Style="margin-left: 30px;"><br>                                       <br>                                    </asp:Label><br>                                </GroupHeaderTemplate>


I have in the itemCreated added that button:
protected void rgLineItems_ItemCreated(object sender, GridItemEventArgs e)<br>   
{<br>       
        if (e.Item is GridGroupHeaderItem && e.Item.GroupIndex.Split('_').Length == 1)<br>
        {<br> 
           GridGroupHeaderItem hi = e.Item
as GridGroupHeaderItem;<br>
            DataRowView drv = ((DataRowView)e.Item.DataItem);<br>
            Button btn =
new Button();<br>
            btn.ID =
"btnUpdateHeader";<br>
            btn.Text =
string.IsNullOrWhiteSpace(drv["PaidDate"].ToString()) ? "Pay Employee" : "Update Payment";<br>
            btn.CommandArgument = drv[
"UserID"].ToString() + "/" + (string.IsNullOrWhiteSpace(drv["PaidDate"].ToString()) ? "-1" : drv["LineHeaderID"].ToString());<br> 
           btn.OnClientClick =
"if (!confirm('Are you sure you all information is correct for this employee?')) return false;";<br>
           btn.Style.Add(HtmlTextWriterStyle.MarginLeft,
"20px");<br>
           btn.CommandName =
"PayEmployee";<br>
           hi.Cells[hi.Cells.Count - 2].Controls.Add(btn);<br>
           btn.Click +=
new EventHandler(btnPayEmployee_Click);<br>
       }<br>
 }

However the btn.Click event isn't firing.  I've also tried the command name and using the radgrid Item command without success.  

Any advice?
Eyup
Telerik team
 answered on 02 Dec 2014
1 answer
176 views
I have used Batch Edit in Radgrid , when i click on cell in radgrid textbox is appearing instead of radcombobox. value every thing is binding properly but dropdown is not appearing, if i click on cell.  I am creating dynamic grid. Code given below.

 RadGrid grd = new RadGrid();
                            //grd.PreRender += new EventHandler(grd_PreRender);
                            grd.NeedDataSource += new GridNeedDataSourceEventHandler(grd_NeedDataSource);

                            grd.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
                            //OnetimeRevision
                            if (_isPartLevelEditable)
                            {
                                if (UserManager.IsAdminOrPM(UserRepository.CurrentUser))
                                //(SessionManager.LoginUser.Role == Constants.ADMINROLE || SessionManager.LoginUser.Role == Constants.PROGRAMMANAGERROLE)
                                {
                                    if (_ecr != null)
                                    {
                                        if (_ecr.EcrState == Constants.ECRSTATUSINITIATE || _ecr.EcrState == Constants.ECRSTATUSECOINITIATED || _ecr.EcrState == Constants.ECRSTATUSKICKEDOFF || _ecr.EcrState == Constants.ECRSTATUSIMPLEMENTED || _ecr.EcrState == Constants.ECRSTATUSCOMPLETE)
                                        {
                                            grd.UpdateCommand += new GridCommandEventHandler(grdCurrentAffectedPart_UpdateCommand);
                                        }
                                        if (_ecr != null && _ecr.EcrState == Constants.ECRSTATUSINITIATE)
                                        {
                                            grd.DeleteCommand += new GridCommandEventHandler(grd_DeleteCommand);
                                        }
                                    }
                                    else
                                    {
                                        grd.UpdateCommand += new GridCommandEventHandler(grdCurrentAffectedPart_UpdateCommand);
                                        grd.DeleteCommand += new GridCommandEventHandler(grd_DeleteCommand);
                                    }
                                }
                                grd.ItemDataBound += new GridItemEventHandler(grd_ItemDataBound);
                                grd.MasterTableView.EditMode = GridEditMode.Batch;
                                grd.MasterTableView.AllowAutomaticInserts = true;
                                grd.MasterTableView.AllowAutomaticUpdates = true;
                                grd.MasterTableView.AllowAutomaticDeletes = true;
                                grd.MasterTableView.BatchEditingSettings.EditType = GridBatchEditingType.Cell;

                                //grd.MasterTableView.BatchEditingSettings.EditType = Cell;
                                // grd.MasterTableView.EditFormSettings.PopUpSettings.Modal = true;
                                //popup borders and color
                                // grd.MasterTableView.EditFormSettings.FormStyle.BorderWidth = Unit.Pixel(5);
                                //string hexvalue="#7da5e0";
                                // grd.MasterTableView.EditFormSettings.FormStyle.BorderColor = System.Drawing.ColorTranslator.FromHtml(hexvalue);
                                //---
                                //if (_ecr != null)
                                //{
                                //    grd.MasterTableView.EditFormSettings.CaptionFormatString = UIMessages.FinancalLinfoEcNumber + Constants.SPACE + _ecr.EcrNumber;
                                //}
                                grd.ClientSettings.Selecting.AllowRowSelect = true;
                                grd.ClientSettings.Scrolling.AllowScroll = true;
                                //grd.ClientSettings.ClientEvents.OnPopUpShowing = "OnPopUpShowing";                                
                                //set attributes for pre/ecr/release part level collumn ordinal as comma sepearate
                            }
                            grd.ItemCreated += new GridItemEventHandler(grd_ItemCreated);
                            grd.MasterTableView.CommandItemSettings.ShowRefreshButton = false;
                            grd.Attributes.Add(Constants.ENABLELINQEXPRESSIONS, Constants.FALSE);
                            grd.ColumnCreated += new GridColumnCreatedEventHandler(grdCurrentAffectedPart_ColumnCreated);

                            grd.ID = dsEcrParts.Tables[i].TableName;
                            //grd.MasterTableView.EditFormSettings.InsertCaption = _ecr.EcrNumber;
                            grd.Attributes.Add(Constants.INDEXTEXT, i.ToString(CultureInfo.InvariantCulture));
                            grd.MasterTableView.DataKeyNames = new string[] { Constants.ECRPARTID, Constants.ECRID, Constants.PARTPRODUCTIONSOURCEID, "ChildParts" };
                            grd.Width = 1400;
                            grd.Height = Unit.Percentage(100);
                            grd.MasterTableView.Width = Unit.Percentage(100);
                            grd.MasterTableView.Height = Unit.Percentage(100);
                            grd.ClientSettings.Scrolling.AllowScroll = true;
                            // grd.ClientSettings.Scrolling.UseStaticHeaders = true;
                            int freezeColumnCount = 7;
                            int.TryParse(ConfigurationManager.AppSettings[Constants.ECRFREEZECOLUMNSCOUNT], out freezeColumnCount);
                            grd.ClientSettings.Scrolling.FrozenColumnsCount = freezeColumnCount;

                            SetEditableColumns(dsEcrParts.Tables[i], grd, _ecr);
                            if (UserManager.IsAdminOrPM(UserRepository.CurrentUser))
                            //(SessionManager.LoginUser.Role == Constants.ADMINROLE || SessionManager.LoginUser.Role == Constants.PROGRAMMANAGERROLE)
                            {
                                if (_ecr != null)
                                {

                                    //Production Y && Main ECR and States = I or O or K or M then add edit column else no edit
                                    //production N && Main ECR && states = I or O then add edit else no edit
                                    //SUB ECR && PRODUCTION = Y AND STATES = I OR O OR M THEN ADD EDIT COLUMN ELSE NO EDIT COLUMN
                                    //shyam (IsProduction in ECR)
                                    //OnetimeRevision
                                    if (
                                        (!_ecr.SubEcr && ((_ecr.EcrState == Constants.ECRSTATUSINITIATE || _ecr.EcrState == Constants.ECRSTATUSECOINITIATED)
                                        || (_ecr.IsProduction && (_ecr.EcrState == Constants.ECRSTATUSKICKEDOFF || _ecr.EcrState == Constants.ECRSTATUSIMPLEMENTED))))
                                        || (_ecr.SubEcr && _ecr.IsProduction && (_ecr.EcrState == Constants.ECRSTATUSECOINITIATED || _ecr.EcrState == Constants.ECRSTATUSKICKEDOFF || _ecr.EcrState == Constants.ECRSTATUSIMPLEMENTED))////If not sub ecr then  editable at initate stage as well
                                        || (!_ecr.SubEcr && _ecr.RevisionInProgress && ((!_ecr.IsProduction && _ecr.EcrState == Constants.ECRSTATUSIMPLEMENTED) || (_ecr.EcrState == Constants.ECRSTATUSCOMPLETE)))
                                        ) //If sub ecr then not editable at initate stage or evaluate stage
                                    {
                                        AddEditColumn(grd);

                                    }
                                    if (_ecr != null && _ecr.EcrState == Constants.ECRSTATUSINITIATE)
                                    {
                                        AddDeleteColumn(grd);

                                    }
                                }
                                else
                                {
                                    AddEditColumn(grd);
                                    AddDeleteColumn(grd);

                                }
                            }
                            if (i == 0)
                            {
                                AddGridCollectionTitle(Constants.LBLAFFECTEDPARTS, UIMessages.AffectedParts);
                            }
                            else if (i == 1)
                            {
                                AddGridCollectionTitle(Constants.LBLPARENTPARTS, UIMessages.ParentParts);
                            }
                            PlaceHolder1.Controls.Add(grd);
                            PlaceHolder1.Controls.Add(new LiteralControl(Constants.BREAKTAG));
                            grd.Rebind();


    protected void grd_ItemDataBound(object sender, GridItemEventArgs e)
        {
            RadGrid senderGrid = (RadGrid)sender;
            List<string> editabeColumns = (List<string>)_columnOrdinal[sender];

            if (e.Item is GridDataItem)
            {
                GridDataItem dataItem = e.Item as GridDataItem;
                if (e.Item.OwnerTableView.Columns.FindByUniqueNameSafe(Constants.DELETECOLUMN) != null)
                {
                    ImageButton img = dataItem[Constants.DELETECOLUMN].Controls[0] as ImageButton;
                    if (dataItem[Constants.DELETECOLUMN].Controls.Count > 0)
                    {
                        //ECR ECRNumber = null;
                        //int ecrId = 0;
                        //if (ECRId.Length > 0 && ECRId != Constants.ZeroNumber)
                        //{
                        //    ecrId = Convert.ToInt32(ECRId);
                        //    using (var ecrManager = new ECRECOManager())
                        //    {
                        //        ECRNumber = ecrManager.FindECR(Convert.ToDecimal(ECRId));
                        //    }
                        //    string deleteMessage = UIMessages.Delete + "  - " + UIMessages.FinancalLinfoEcNumber + "  " + ECRNumber.EcrNumber;
                        //    img.Attributes.Add(Constants.ONCLICK, string.Format(CultureInfo.CurrentUICulture, Constants.POPUPCONFIRM, senderGrid.ClientID, UIMessages.RADGRIDCONFIRMDELETEECRPARTSCRIPT, deleteMessage));
                        //}
                        //else
                        img.Attributes.Add(Constants.ONCLICK, string.Format(CultureInfo.CurrentUICulture, Constants.POPUPCONFIRM, senderGrid.ClientID, UIMessages.RADGRIDCONFIRMDELETEECRPARTSCRIPT, UIMessages.Delete));

                        //"if(!$find('" + senderGrid.ClientID + "').confirm('" + UIMessages.RADGRIDCONFIRMDELETEECRPARTSCRIPT + "', event, 'Delete'))return false;");
                        //dataItem[Constants.DELETECOLUMN].Attributes.Add(UIMessages.ONCLICK, string.Format(UIMessages.RADGRIDCONFIRMDELETEECRPARTSCRIPT, senderGrid.ClientID));
                        img.ToolTip = UIMessages.Delete;

                        if (dataItem["IsDeletable"].Text.Trim() == "0")
                        {
                            dataItem[Constants.DELETECOLUMN].Text = string.Empty;
                        }
                    }
                    if (senderGrid.Attributes[Constants.INDEXTEXT].Equals(Constants.ZeroNumber))
                        if ((dataItem.DataItem as DataRowView).Row.Table.Rows.Count == 1)
                            img.Visible = false;
                }

                if (e.Item.OwnerTableView.Columns.FindByUniqueNameSafe(Constants.EDITCOLUMN) != null)
                {
                    if (dataItem[Constants.EDITCOLUMN].Controls.Count > 0)
                    {
                        ImageButton editBtn = (ImageButton)dataItem[Constants.EDITCOLUMN].Controls[0];
                        //editBtn.ToolTip = UIMessages.Edit;
                        editBtn.Visible = false;
                    }
                }

            }
            if (e.Item is GridHeaderItem)
            {
                try
                {
                    GridHeaderItem dataItem = e.Item as GridHeaderItem;
                    /*  dataItem[Constants.PREECRPARTNUMBER].Style.Add("border-left", "2px solid #3663bd");
                      dataItem[Constants.ECRPARTNUMBER].Style.Add("border-left", "2px solid #3663bd");
                      dataItem[Constants.RELEASEDPARTNUMBER].Style.Add("border-left", "2px solid #3663bd");*/
                    dataItem.Style.Add("border-left", "2px solid #3663bd");
                }
                catch
                {
                }
            }
            GridEditableItem editedItem = e.Item as GridEditableItem;
            //if (e.Item.IsInEditMode)
            //{
            //    GridEditFormItem editform = (GridEditFormItem)e.Item;
            //    if (_ecr != null)
            //    {
            //        ((System.Web.UI.WebControls.TableCell)(editform.Controls[1].Controls[0].Controls[1].Controls[0].Controls[0].Controls[0])).Text =
            //            (_ecr.EcrState == Constants.ECRSTATUSINITIATE) ? "<b>" + UIMessages.ECREditHeader + "</b>" : "<b>" + UIMessages.ECOEditHeader + "</b>";
            //    }
            //    else
            //    {
            //        ((System.Web.UI.WebControls.TableCell)(editform.Controls[1].Controls[0].Controls[1].Controls[0].Controls[0].Controls[0])).Text =

            //     "<b>" + UIMessages.ECREditHeader + "</b><b>" + UIMessages.ECOEditHeader + "</b>";
            //    }



            //    // editform.EditFormCell.
            //}
            if (editedItem != null && e.Item.IsInEditMode)
            {
                //Find the row being edited in the session stored DataSet
                decimal partID = Convert.ToDecimal(editedItem.GetDataKeyValue(Constants.PARTPRODUCTIONSOURCEID));

                DataRow editRow = ECRPartsSession.Tables[senderGrid.ID].Select(string.Format(CultureInfo.InvariantCulture, Constants.SEARCHPARTFILTER, partID)).First();
                //editedItem[Constants.AFFECTEDPART].Enabled = false;
                //Fill editable TextBoxes
                foreach (string columnName in editabeColumns)
                {
                    //Fill ECRType DropDown
                    if (columnName.Equals(Constants.ECRTYPE))
                    {
                        string ecrType = editRow[Constants.ECRTYPE].ToString();
                        RadComboBox combo = (RadComboBox)editedItem.FindControl(senderGrid.ID + Constants.ECRTYPE);

                        combo.Focus();
                        if (combo != null)
                        {
                            FillAccessDropDown(combo, ecrType);
                            if (ecrType == Constants.ECRPARTLEVELTYPEPREECR)
                            {
                                //combo.SelectedIndex = combo.FindItemIndexByValue(Constants.ECRTYPEADD);
                                combo.SelectedValue = Constants.ECRTYPEADD;
                            }
                            else
                            {
                                //combo.SelectedIndex= combo.FindItemIndexByText("O");
                                combo.SelectedValue = ecrType == "O" ? "D" : ecrType;
                            }
                        }

                    }
                    //Fill ToolSource location DropDowns
                    else if (_toolSourcelocationColumns.Contains(columnName) && !Production)
                    {
                        if ((editedItem.OwnerTableView.AutoGeneratedColumns.Any(gc => gc.UniqueName == columnName)))
                        {
                            if (editedItem[columnName] != null) //&& editedItem[locationColumn].Controls.Count <= 1)
                            {
                                RadComboBox comboLocTool = (RadComboBox)editedItem.FindControl(senderGrid.ID + columnName);
                                if (comboLocTool != null)
                                {
                                    FillLocation(comboLocTool, _toolSource, editRow[columnName]);
                                    RadComboBoxItem foundItem = null;
                                    string valueColumn = columnName.Replace(Constants.NAME, string.Empty);
                                    foundItem = comboLocTool.FindItemByValue(Convert.ToString(((editedItem.DataItem as DataRowView))[valueColumn]));
                                    if (comboLocTool.Items.Contains(foundItem))
                                    {
                                        comboLocTool.SelectedValue = foundItem.Value;// ((editedItem.DataItem as DataRowView))[valueColumn].ToString();
                                    }
                                }
                            }
                        }
                    }
                    //Fill FixtureSource location DropDowns
                    else if (_fixtureSourcelocationColumns.Contains(columnName) && !Production)
                    {
                        if ((editedItem.OwnerTableView.AutoGeneratedColumns.Any(gc => gc.UniqueName == columnName)))
                        {
                            if (editedItem[columnName] != null) //&& editedItem[locationColumn].Controls.Count <= 1)
                            {
                                RadComboBox comboLocTool = (RadComboBox)editedItem.FindControl(senderGrid.ID + columnName);
                                if (comboLocTool != null)
                                {
                                    FillLocation(comboLocTool, _fixtureSource, editRow[columnName]);
                                    RadComboBoxItem foundItem = null;
                                    string valueColumn = columnName.Replace(Constants.NAME, string.Empty);
                                    foundItem = comboLocTool.FindItemByValue(Convert.ToString(((editedItem.DataItem as DataRowView))[valueColumn]));
                                    if (comboLocTool.Items.Contains(foundItem))
                                    {
                                        comboLocTool.SelectedValue = foundItem.Value;// ((editedItem.DataItem as DataRowView))[valueColumn].ToString();
                                    }
                                }
                            }
                        }
                    }
                    //Fill ProductionSource location DropDowns
                    else if (_productionSourcelocationColumns.Contains(columnName))
                    {
                        if ((editedItem.OwnerTableView.AutoGeneratedColumns.Any(gc => gc.UniqueName == columnName)))
                        {
                            if (editedItem[columnName] != null) //&& editedItem[locationColumn].Controls.Count <= 1)
                            {
                                RadComboBox comboLocProd = (RadComboBox)editedItem.FindControl(senderGrid.ID + columnName);
                                if (comboLocProd != null)
                                {
                                    FillLocation(comboLocProd, _productionSource, editRow[columnName]);
                                    RadComboBoxItem foundItem = null;
                                    string valueColumn = columnName.Replace(Constants.NAME, string.Empty);
                                    foundItem = comboLocProd.FindItemByValue(Convert.ToString(((editedItem.DataItem as DataRowView))[valueColumn]));
                                    if (comboLocProd.Items.Contains(foundItem))
                                    {
                                        comboLocProd.SelectedValue = foundItem.Value;// ((editedItem.DataItem as DataRowView))[Constants.ECRPRODUCTIONSOURCE].ToString();
                                    }
                                }
                            }
                        }
                    }

                    //Fill Date fields
                    else if (_dateFields.Contains(columnName) && Production)
                    {
                        if ((editedItem.OwnerTableView.AutoGeneratedColumns.Any(gc => gc.UniqueName == columnName)))
                        {
                            if (editedItem[columnName] != null) //&& editedItem[locationColumn].Controls.Count <= 1)
                            {
                                RadDatePicker rdpDate = editedItem[columnName].Controls[0] as RadDatePicker;
                                if (rdpDate != null)
                                {
                                    if (!string.IsNullOrEmpty(Convert.ToString(editRow[columnName])))
                                        rdpDate.SelectedDate = Convert.ToDateTime(Convert.ToString(editRow[columnName]));
                                    if (columnName == Constants.BASELINEMRDTOPLANTDATE || columnName == Constants.BASELINEPPAPDATE)
                                    {
                                        rdpDate.ClientEvents.OnDateSelected = "GMS.Masters.ECR.Part.ecoBaselineDateSelected";
                                    }
                                    if (columnName == Constants.PLANMRDTOPLANTDATE || columnName == Constants.PLANPPAPDATE)
                                    {
                                        if (rdpDate.SelectedDate == null)
                                            rdpDate.Attributes.Add("HasValue", "false");
                                        else
                                            rdpDate.Attributes.Add("HasValue", "true");
                                    }
                                }
                            }
                        }
                    }
                    else
                    {
                        if ((editedItem.OwnerTableView.AutoGeneratedColumns.Any(gc => gc.UniqueName == columnName)))
                        {
                            if (editedItem[columnName] != null) //&& editedItem[columnName].Controls.Count <= 1)
                            {
                                RadTextBox txtBox = (RadTextBox)editedItem.FindControl(senderGrid.ID + columnName);
                                if (txtBox != null)
                                {
                                    txtBox.Text = Convert.ToString(editRow[columnName]);
                                    //txtBox.ClientEvents.OnValueChanged = "debugger;OnTextValueChanged();";
                                   // txtBox.Attributes.Add("onchange", "debugger;return GMS.ECR.ManageEcrEco.OnTextValueChanged();");
                                }
                            }
                        }
                    }
                }
            }
        }
Konstantin Dikov
Telerik team
 answered on 02 Dec 2014
6 answers
2.0K+ views
Hello,

I seem to be getting the following script error when trying to display a tooltip at a required location on the screen.

Sys.ArgumentOutOfRangeException: Value must be an integer. Parameter name: x Actual value was -194.80000019073486.

The error is generated within the function Sys$UI$Bounds(x, y, width, height).

It seems that the error can be generated by changing the zoom level within Internet Explorer. If the zoom level is 100% then the resolution of the screen is mapped 1-to-1 based on the video card resolution. If the zoom level is changed to 150% (in our example), then the video card resolution no longer corresponds to a 1-to-1 mapping based on the zoom level set within Internet Explorer. As a result, x and y values on the screen generate decimal values instead of integer values and thus the exception occurs.

Any help in resolving this issue would be appreciated.

Thanks,
Tony

​
Marin Bratanov
Telerik team
 answered on 01 Dec 2014
1 answer
107 views
Hi,

I have a Batch Edit Grid and I'm trying to make a column read only in edit mode with the code below:

protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e)
{
    if (e.Item is GridEditableItem && e.Item.IsInEditMode)
    {
        GridEditableItem editedItem = e.Item as GridEditableItem;
        TextBox txt = (TextBox)editedItem["RangeMin"].Controls[0];
        txt.ReadOnly = true;
    }
}

But the expression if (e.Item is GridEditableItem && e.Item.IsInEditMode) always return false.

How can I disable cell edit for a specific column?

Thanks,
Gustavo
Gustavo
Top achievements
Rank 1
 answered on 01 Dec 2014
1 answer
142 views
In the Grid "documentation", I can read the following:

"This event is fired after the grid is created."

But in my case, the event is not fired. So clearly, something or somethings can cause the event to not fire. What are the possible causes?

There's quite a bit of code revolving around my grid, but here are what I think is the most relevant:

<script type="text/javascript">
    function GridCreated(sender, eventArgs) {
            alert("Grid with ClientID: " + sender.get_id() + " was created");
        }
</script>

<ClientSettings>
                                <Selecting AllowRowSelect="True" />
                                <ClientEvents OnRowCreated="rgActivities_RowCreated" OnRowSelected="rgActivities_RowSelected"
                                     OnRowDeselected="rgActivities_RowDeselected" OnGridCreated="GridCreated" />
                                <Scrolling AllowScroll="True" ScrollHeight="340px" SaveScrollPosition="True"></Scrolling>
                            </ClientSettings>

(The javascript is in the head, but I tried to have it inside a RadScriptBlock too, without it working)
C
Top achievements
Rank 1
 answered on 01 Dec 2014
8 answers
595 views
Hi ,
        Is it possible to open multiple Rad Windows by click the cells in Rad Grid.  ( Something like Multiple Instances of RadWindow).
please send us some sample regarding this.


Thanks
Vinodh
Marin Bratanov
Telerik team
 answered on 01 Dec 2014
4 answers
209 views
hello, is there a way for me to create RadWindows dynamically on the client side?

Here is my situation: I have a page that has several links that when clicked needs to open a RadWindow. each link opens a different window. What I do now is create the windows on Page Load and then add the "onclick" javascript attribute to the link's. Therefore, even if the links are never clicked by the user the windows are still being created.

I want to use client-side because I don't want to trigger a postback by creating the windows in code-behind via a button. Now my javascript will take as parameter the URL of the window to open and other properties such as window dimensions. The clien-side script will then create the RadWindow and open it. The page has a window manager but I do not want to create the windows statically inside the window manager because I may not know ahead of time how many windows I need.

Also, the window manager is created in the master page that I use to style all my pop-up windows, that's why i cant define windows statically because that master page is used for many different pop-up windows. Finally I would like the window that is created on client-side to inherit the standard properties i have set on the Window manager in the master page.

Can this be done?
Dhamodharan
Top achievements
Rank 1
 answered on 01 Dec 2014
3 answers
67 views
Hi,
I am using Radgrid in my project. 
I used .net framework 3.5 and VS 2010 before. The Radgrid is displayed correctly in my project by that time.
Lately, I upgrade the project to .net framework 4.5.1 and I am using VS 2013 now. I found that the radgrid occasionally (not always) run into problem and the grid collapses.
Due to protection of my company, sorry that I can't print screen here. But I can tell from what I see from the HTML code generated before and after.

Before the change, it is normal like:
<div id="ctl00_ContentPlaceHolder1_radGridSample" class="RadGrid RadGrid_WebBlue">
    <table cellspacing="0" class="rgMasterTable" border="0" id="ctl00_ContentPlaceHolder1_radGridSample_ctl00" style="width:100%;table-layout:auto;empty-cells:show;">
        <colgroup>
            [content for colgroup]
        </colgroup>
        <thead>
            [content for thead]
        </thead>
        <tfoot>
            <tr class="rgPager">
                [content for pager]
            </tr>
        </tfoot>
        <tbody>
            <tr class="rgRow" id="ctl00_ContentPlaceHolder1_radGridSample_ctl00__0">
                <td>
                    [content for a row]
                </td>
            </tr>
                [repeat]
        </tbody>
    </table>
</div>

After, it becomes:
<div id="ctl00_ContentPlaceHolder1_radGridSample" class="RadGrid RadGrid_WebBlue">
            [content for thead]
        </thead>
        <tfoot>
            <tr class="rgPager">
                [content for pager]
            </tr>
        </tfoot>
        <tbody>
            <tr class="rgRow" id="ctl00_ContentPlaceHolder1_radGridSample_ctl00__0">
                <td>
                    [content for a row]
                </td>
            </tr>
                [repeat]
        </tbody>
    </table>
</div>

As you can see a large portion of html code at the top is missing. You can imagine that the table couldn't be formed. All the data in the table concatenates into 1 line.
The css, javascript file referenced by Radgrid does exist.
The telerik I am using is 2014 version. 

Could anyone advise me on how to solve this problem?

Regards,
Xavier
Waqas
Top achievements
Rank 2
 answered on 01 Dec 2014
4 answers
130 views
Good day

I would like to know if you can display a submenu below its parent menu.

Please see attached file as example.
Tiaan
Top achievements
Rank 1
 answered on 01 Dec 2014
5 answers
131 views
Hello,

is it possible to add text to the top right side of the RibbonBar (basically on the right side of the tabs)?

Thanks in advance,
Robin
Boyan Dimitrov
Telerik team
 answered on 01 Dec 2014
Narrow your results
Selected tags
Tags
+? more
Top users last month
Jay
Top achievements
Rank 3
Iron
Iron
Iron
Benjamin
Top achievements
Rank 3
Bronze
Iron
Veteran
Radek
Top achievements
Rank 2
Iron
Iron
Iron
Bohdan
Top achievements
Rank 2
Iron
Iron
Richard
Top achievements
Rank 4
Bronze
Bronze
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Jay
Top achievements
Rank 3
Iron
Iron
Iron
Benjamin
Top achievements
Rank 3
Bronze
Iron
Veteran
Radek
Top achievements
Rank 2
Iron
Iron
Iron
Bohdan
Top achievements
Rank 2
Iron
Iron
Richard
Top achievements
Rank 4
Bronze
Bronze
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?