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

Problem with textbox when edit

1 Answer 81 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Cecilie Nordbø
Top achievements
Rank 1
Cecilie Nordbø asked on 21 Jan 2011, 01:31 PM
Hi.
I have a grid and when the user have a row in editmode, the textbox get so small that is not possible to write something in it and in the textbox field a cross i sho
wing. I use a method(SetTextBoxWidth) to regular the width to the column when RadGrid1_ItemDataBound event is called. (The grid is a hierarchy with one level. )  I hope somebody have a clue why this is happening.

The code i am using is as following:

<telerik:RadGrid ID="RadGrid1" runat="server" AllowFilteringByColumn="False" AllowPaging="True" AllowSorting="True" GridLines="None" ShowStatusBar="True"
       Culture="Norwegian, BokmÃ¥l (Norway)" AutoGenerateColumns="False" Width="700px" onitemcommand="RadGrid1_ItemCommand" onitemdatabound="RadGrid1_ItemDataBound"
       onneeddatasource="RadGrid1_NeedDataSource" onupdatecommand="RadGrid1_UpdateCommand">
       <MasterTableView AutoGenerateColumns="False" DataKeyNames="TransId" EditMode="InPlace" CommandItemDisplay="Top">
       <CommandItemTemplate>
           <div style="text-align:right;margin:4px;">
               <asp:LinkButton ID="LinkButtonClose" runat="server" CommandName="CloseAll" ToolTip="Lukk alle radene">Lukk alle</asp:LinkButton>  
               <asp:LinkButton ID="LinkButtonOpen" runat="server" CommandName="OpenAll" ToolTip="Utvid alle radene">Utvid alle</asp:LinkButton>               
           </div>
       </CommandItemTemplate>
       <RowIndicatorColumn><HeaderStyle Width="20px"></HeaderStyle></RowIndicatorColumn>
       <DetailTables>
           <telerik:GridTableView runat="server" AllowPaging="False" DataKeyNames="DetailId" AllowFilteringByColumn="false" EditMode="InPlace" DataSourceID="DetailDataSource">
           <ParentTableRelation><telerik:GridRelationFields DetailKeyField="TransId" MasterKeyField="TransId"/></ParentTableRelation>
           <CommandItemSettings ExportToPdfText="Export to Pdf"></CommandItemSettings>           
           <Columns>  
              <telerik:GridBoundColumn  UniqueName="JourneyTime" HeaderText="Tur" DataField="JourneyTime" ReadOnly="true" SortExpression="JourneyTime">
               <HeaderStyle Width="40px"></HeaderStyle><ItemStyle HorizontalAlign="Left" /></telerik:GridBoundColumn>            
               <telerik:GridBoundColumn  UniqueName="RouteName" HeaderText="Rute" DataField="RouteName" ReadOnly="true" SortExpression="RouteName">
               <HeaderStyle Width="100px"></HeaderStyle></telerik:GridBoundColumn>            
               <telerik:GridNumericColumn  UniqueName="DetailCount" DataType="System.Int32" HeaderText="Antall" DataField="DetailCount" SortExpression="DetailCount">
               <HeaderStyle Width="70px"></HeaderStyle><ItemStyle HorizontalAlign="Left"/></telerik:GridNumericColumn>                                                            
               <telerik:GridNumericColumn  UniqueName="TariffNr" DataType="System.Int32" HeaderText="Billettkode" DataField="TariffNr" SortExpression="TariffNr">
               <HeaderStyle Width="73px"></HeaderStyle><ItemStyle HorizontalAlign="Left"/></telerik:GridNumericColumn>                            
               <telerik:GridNumericColumn  UniqueName="UnitPrice" HeaderText="Pris" DataField="UnitPrice" DataType="System.Double" SortExpression="UnitPrice" DecimalDigits="2">
               <HeaderStyle Width="70px"></HeaderStyle><ItemStyle HorizontalAlign="Left"/></telerik:GridNumericColumn>                             
               <telerik:GridEditCommandColumn CancelText="Avbryt" EditText="Endre" InsertText="Sett inn" UpdateText="Oppdater" UniqueName="EditColumn">
               <ItemStyle HorizontalAlign="Right" /></telerik:GridEditCommandColumn>          
           </Columns>
           <EditFormSettings>
               <EditColumn UniqueName="EditCommandColumn1"></EditColumn>
           </EditFormSettings>
           </telerik:GridTableView>
       </DetailTables>
       <CommandItemSettings ExportToPdfText="Export to Pdf"></CommandItemSettings>
       <ExpandCollapseColumn Visible="True"></ExpandCollapseColumn>
       <Columns>
        <telerik:GridBoundColumn  FilterControlWidth="95%" UniqueName="CardNumber" DataField="CardNr" HeaderText="Serienr." ReadOnly="true" DataType="System.Int64" SortExpression="CardNr">
        <HeaderStyle Width="78px"></HeaderStyle><ItemStyle HorizontalAlign="Right" /></telerik:GridBoundColumn>
        <telerik:GridBoundColumn UniqueName="TransDate" DataField="TransDate" HeaderText="Dato"  HeaderStyle-Width="150px" ReadOnly="true"></telerik:GridBoundColumn>
       <telerik:GridBoundColumn FilterControlWidth="95%" DataField="UserNr" DataType="System.Int32" HeaderText="Brukernr." ReadOnly="True" SortExpression="UserNr" UniqueName="UserNumberStr">
       <HeaderStyle Width="105px"></HeaderStyle><ItemStyle HorizontalAlign="Right"/></telerik:GridBoundColumn>       
       <telerik:GridBoundColumn FilterControlWidth="95%" DataField="TicketNr" DataType="System.Int32" HeaderText="Billettnr." ReadOnly="True" SortExpression="TicketNr" UniqueName="TicketNumberStr" >
       <HeaderStyle Width="100px"></HeaderStyle><ItemStyle HorizontalAlign="Right"/></telerik:GridBoundColumn>                                  
       <telerik:GridBoundColumn FilterControlWidth="95%" DataField="AnnulComment" HeaderText="Annullerings kommentar" SortExpression="AnnulComment" UniqueName="AnnulComment">
       <HeaderStyle Width="200px"></HeaderStyle></telerik:GridBoundColumn>                 
       <telerik:GridEditCommandColumn CancelText="Avbryt" EditText="Endre" InsertText="Sett inn" UpdateText="Oppdater" UniqueName="EditColumn">
       <HeaderStyle Width="105px"></HeaderStyle><ItemStyle HorizontalAlign="Right" /></telerik:GridEditCommandColumn>     
       <telerik:GridButtonColumn CommandName="Annul" Text="Annuller" UniqueName="AnnulColumn">
       <HeaderStyle Width="60px"></HeaderStyle></telerik:GridButtonColumn>     
       </Columns>
       <NoRecordsTemplate><div>Det er ingen elementer Ã¥ vise</div></NoRecordsTemplate>       
       </MasterTableView>
       <ClientSettings EnableRowHoverStyle="true">                       
           <Resizing AllowColumnResize="true"/>
           <ClientEvents OnRowDblClick="RowDblClick" />
           <Selecting AllowRowSelect="true"/>
       </ClientSettings>
       <SortingSettings EnableSkinSortStyles="False" SortedAscToolTip="Sortert stigende" SortedDescToolTip="Sortet synkende" SortToolTip="Klikk her for Ã¥ sortere" />           
       </telerik:RadGrid>

protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e)
       {
           if (e.Item.IsInEditMode)
           {
               SetColumnWidthInEditMode(e);
               if (e.Item.OwnerTableView == RadGrid1.MasterTableView)
               {
                   SetFocusOnField(e, "AnnulComment");
               }           
           }
           else if (e.Item is GridDataItem)
           {
               LoadTransAndDetailValues(e);
           }
       }
 
 
  private void SetColumnWidthInEditMode(GridItemEventArgs e)
       {
           if (!(e.Item is GridDataItem))
               return;
 
           var gridItem = (GridDataItem)e.Item;
           if (e.Item.OwnerTableView == RadGrid1.MasterTableView)
           {
               SetTextBoxWidth(gridItem, "AnnulComment");
           }      
       }
 
 private void SetTextBoxWidth(GridDataItem item, string name)
       {
           TableCell cell = item[name];
           if (cell == null)
               return;
 
           if (cell.Controls.Count > 0 && cell.Controls[0] is TextBox)
           {
               var box = (TextBox)cell.Controls[0];
               box.Width = Unit.Percentage(95);
           }
       }
 
private void LoadTransAndDetailValues(GridItemEventArgs e)
       {
           var item = e.Item as GridDataItem;
           if (e.Item.DataItem is Detail)
           {
               var detail = e.Item.DataItem as Detail;
               if (detail.Trans.AnnulCode > 0)
               {
                   SetRowInAnnulMode(item, true);
               }
 
               item["JourneyTime"].Text = detail.JourneyTime;
               item["RouteName"].Text = detail.RouteName;
 
               double? unitPrice = detail.UnitPrice;
               if (e.Item.IsInEditMode)
               {
                   var ntb = item["UnitPrice"].Controls[0] as RadNumericTextBox;
                   if (ntb != null && unitPrice.HasValue && unitPrice.Value != 0)
                   {
                       ntb.Value = unitPrice.Value / 100.00;
                   }
                   else
                       ntb.Value = null;
               }
               else if (unitPrice.HasValue && unitPrice != 0)
               {
                   item["UnitPrice"].Text = CurrencyFormatting.DoubleToPrice((unitPrice.Value / 100.00));
               }
           }
           else if (e.Item.DataItem is Trans)
           {
               var trans = e.Item.DataItem as Trans;
               if (trans.AnnulCode > 0)
               {
                   SetRowInAnnulMode(item, false);
               }
           }
       }

1 Answer, 1 is accepted

Sort by
0
Pavlina
Telerik team
answered on 25 Jan 2011, 07:04 PM
Hi Cecilie,

Can you please try replicating the described issue in this online example :
http://demos.telerik.com/aspnet-ajax/grid/examples/dataediting/editondblclick/defaultcs.aspx

Best wishes,
Pavlina
the Telerik team
Browse the vast support resources we have to jump start your development with RadControls for ASP.NET AJAX. See how to integrate our AJAX controls seamlessly in SharePoint 2007/2010 visiting our common SharePoint portal.
Tags
Grid
Asked by
Cecilie Nordbø
Top achievements
Rank 1
Answers by
Pavlina
Telerik team
Share this question
or