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

Event for Pass at the time of Add New Record Click on RadGrid

9 Answers 256 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Ankur
Top achievements
Rank 1
Ankur asked on 30 Mar 2012, 10:04 PM
Hello,
I want to execute some when the client click on "Add New Record".
I'm build a template column. I need set text properties of this control by default "7".
If the client want to change it then it's allowed to change.

Source Code : 
<telerik:RadGrid ID="grdSettlement" runat="server" AllowFilteringByColumn="True" CellSpacing="0" DataSourceID="SqlDataSource1" GridLines="None" AllowAutomaticDeletes="True" AllowAutomaticUpdates="True" AutoGenerateColumns="False" AllowAutomaticInserts="true" OnInsertCommand="grdSettlement_InsertCommand">
 
Column Source Code :
 
<telerik:GridTemplateColumn DataField="NO" FilterControlAltText="Filter NO column"
                HeaderText="NO" SortExpression="NO" UniqueName="NO" DataType="System.Int64">
                <InsertItemTemplate>
                    <telerik:RadNumericTextBox runat="server" ID="No">
                    </telerik:RadNumericTextBox>
                </InsertItemTemplate>
                <ItemTemplate>
                    <%# Eval("NO") %>
                </ItemTemplate>
            </telerik:GridTemplateColumn>


So, for this I want to set the text of RadNumericTextBox "7".
Help me to Solve this...

9 Answers, 1 is accepted

Sort by
0
Jayesh Goyani
Top achievements
Rank 2
answered on 31 Mar 2012, 05:55 AM
Hello Ankur,

<telerik:GridTemplateColumn DataField="NO" FilterControlAltText="Filter NO column"
                        HeaderText="NO" SortExpression="NO" UniqueName="NO" DataType="System.Int64">
                        <InsertItemTemplate>
                            <telerik:RadNumericTextBox runat="server" ID="txtNo">
                            </telerik:RadNumericTextBox>
                        </InsertItemTemplate>
                        <ItemTemplate>
                            <%# Eval("NO") %>
                        </ItemTemplate>
                    </telerik:GridTemplateColumn>


  protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e)
    {
 
if (e.Item is GridEditableItem && e.Item.IsInEditMode && e.Item is GridDataInsertItem)
        {
              GridEditableItem item = (GridEditableItem)e.Item;
              RadNumericTextBox txtNo = item.FindControl("txtNo") as RadNumericTextBox;
              txtNo.Value = 7;
        }
 
}


Thanks,
Jayesh Goyani
0
Ankur
Top achievements
Rank 1
answered on 31 Mar 2012, 08:23 AM
Thanks for try to give me solution of this.
But, This is also not working....
0
Jayesh Goyani
Top achievements
Rank 2
answered on 31 Mar 2012, 08:47 AM
Hello Ankur,

Please check below demo.
<telerik:RadScriptManager ID="RadScriptManager1" runat="server">
      </telerik:RadScriptManager>
      <telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="false" OnNeedDataSource="RadGrid1_NeedDataSource"
          OnItemDataBound="RadGrid1_ItemDataBound" OnInsertCommand="RadGrid1_InsertCommand">
          <MasterTableView DataKeyNames="ID" CommandItemDisplay="Top">
              <Columns>
                  <telerik:GridTemplateColumn DataField="NO" FilterControlAltText="Filter NO column"
                      HeaderText="NO" SortExpression="NO" UniqueName="NO" DataType="System.Int64">
                      <InsertItemTemplate>
                          <telerik:RadNumericTextBox runat="server" ID="txtNo">
                          </telerik:RadNumericTextBox>
                      </InsertItemTemplate>
                      <ItemTemplate>
                          <%# Eval("NO") %>
                      </ItemTemplate>
                  </telerik:GridTemplateColumn>
              </Columns>
          </MasterTableView>
      </telerik:RadGrid>
protected void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
    {
 
        DateTime dt = new DateTime();
 
        dynamic data = new[] {
                new { ID = 1, Name ="Name1", customdate=dt,NO = 1},
                new { ID = 2, Name = "Name2", customdate=dt,NO = 1},
                new { ID = 3, Name = "Name3", customdate=dt,NO = 1},
                new { ID = 4, Name = "Name4", customdate=dt.AddYears(2011),NO = 1},
                new { ID = 5, Name = "Name5", customdate=dt,NO = 1}
            };
 
        RadGrid1.DataSource = data;
    }
    protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e)
    {
 
        if (e.Item is GridEditableItem && e.Item.IsInEditMode && e.Item.ItemIndex == -1)
        {
            GridEditableItem item = (GridEditableItem)e.Item;
            RadNumericTextBox txtNo = item.FindControl("txtNo") as RadNumericTextBox;
            txtNo.Value = 7;
            Response.Write("Set value :" + txtNo.Value);
        }
 
    }
    
    protected void RadGrid1_InsertCommand(object sender, GridCommandEventArgs e)
    {
        GridEditableItem item = (GridEditableItem)e.Item;
        RadNumericTextBox txtNo = item.FindControl("txtNo") as RadNumericTextBox;
        Response.Write("Updated value :" + txtNo.Value);
    }


Thanks,
Jayesh Goyani
0
Ankur
Top achievements
Rank 1
answered on 31 Mar 2012, 12:07 PM
I build a new page & try to execute that codes. But it's not working...
0
Accepted
Shinu
Top achievements
Rank 2
answered on 02 Apr 2012, 05:36 AM
Hello Ankur,

Here is the sample code that I tried which worked as expected in ItemDataBound event.
C#:
void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e)
{
 if (e.Item is GridDataInsertItem )//edit mode is InPlace
 {
   GridDataInsertItem itm = (GridDataInsertItem)e.Item;
   RadNumericTextBox txt = (RadNumericTextBox)itm.FindControl("No");
   txt.Text = "7";
 }
 if (e.Item is GridEditableItem && e.Item.IsInEditMode)//edit mode is EditForms
 {
  GridEditableItem itm = (GridEditableItem)e.Item;
  RadNumericTextBox txt = (RadNumericTextBox)itm.FindControl("No");
  txt.Text = "7";
 }

Thanks,
Shinu.
0
Jayesh Goyani
Top achievements
Rank 2
answered on 02 Apr 2012, 06:50 AM
Hello Ankur,

Please try with code snippet.

<telerik:RadNumericTextBox runat="server" ID="txtNo" Value="7">
        </telerik:RadNumericTextBox>


Thanks,
Jayesh Goyani
0
Ankur
Top achievements
Rank 1
answered on 02 Apr 2012, 02:15 PM
It's working with following code : 

protected void grdSettlement_ItemDataBound(object sender, GridItemEventArgs e)
    {
        if (e.Item.IsInEditMode)
        {
            GridEditableItem item = (GridEditableItem)e.Item;
            RadNumericTextBox txtNo = item.FindControl("txtNo") as RadNumericTextBox;
            txtNo.Text = 7;
        }
    }
0
Ankur
Top achievements
Rank 1
answered on 02 Apr 2012, 03:06 PM
Is it possible to set txtNo.text on Insert command of SQL for automatic Insert code...??

Is it possible on below code...??

InsertCommand="INSERT INTO [SettlementMaster] ([NO], [SettlementType], [TradeDate], [BillDate], [GroupID], [CompanyID], [UserID]) VALUES (@NO, @SettlementType, @TradeDate, @BillDate, @GroupID, @CompanyID, @UserID)"
0
Shinu
Top achievements
Rank 2
answered on 13 Apr 2012, 04:43 AM
Hello Ankur,

 You can use OnInserting server-side events to set values dynamically. Sample code is given below.

ASPX:
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"
       SelectCommand="SELECT  * FROM [Employees] " 
       InsertCommand="INSERT INTO Employees (EmployeeID,FirstName,LastName) values(@EmployeeID,@FirstName,@LastName)"
       OnInserting="SqlDataSource1_Inserting">
       <InsertParameters>
           <asp:Parameter Name="EmployeeID" />
           <asp:Parameter Name="FirstName" />
           <asp:Parameter Name="LastName" />
       </InsertParameters>
   </asp:SqlDataSource>

C#:
protected void SqlDataSource1_Inserting(object sender, SqlDataSourceCommandEventArgs e)
  {
      e.Command.Parameters["@FirstName"].Value = "new value";
  }

Thanks,
Shinu.
Tags
Grid
Asked by
Ankur
Top achievements
Rank 1
Answers by
Jayesh Goyani
Top achievements
Rank 2
Ankur
Top achievements
Rank 1
Shinu
Top achievements
Rank 2
Share this question
or