I am creating an order entry page which has a large number of items (30-50K)
On the doubleclick a user control opens up containing the part number, description, cost, etc.
is there a way to pass into (or pull up) the customer number?
I could always add it to the data source but that is increasing the size of an already large data table
the add is on a click event in the control - I could change it to trigger an Insert (adding it to the order table, not the items table)
I am working in VS2010 ASP.NET 4.0
the grid is filled through LINQ to SQL
from the main page:
<asp:Content ID="cntBody" ContentPlaceHolderID="cpHolder" Runat="Server">
<telerik:RadScriptManager ID="rsManager" runat="server" />
<telerik:RadCodeBlock ID="rcBlock" runat="server">
<script type="text/javascript">
function RowDblClick(sender, eventArgs) {
sender.get_masterTableView().editItem(eventArgs.get_itemIndexHierarchical());
}
</script>
</telerik:RadCodeBlock>
<telerik:RadAjaxManager ID="raManager" runat="server">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="rgItems">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="rgItems" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManager>
the grid (from the main page)
<telerik:RadGrid ID="rgItems" AutoGenerateColumns="False" AllowPaging="True"
runat="server" AllowFilteringByColumn="True" AllowSorting="True" GridLines="None">
<ClientSettings>
<Scrolling AllowScroll="True" UseStaticHeaders="True" />
</ClientSettings>
<MasterTableView DataKeyNames="ItemID" EditMode="PopUp">
<Columns>
<telerik:GridBoundColumn UniqueName="ItemID" DataField="ItemID" Visible="False">
</telerik:GridBoundColumn>
...
</Columns>
<EditFormSettings UserControlName="OrderItem.ascx" EditFormType="WebUserControl">
</EditFormSettings>
</MasterTableView>
<ClientSettings>
<ClientEvents OnRowDblClick="RowDblClick" />
</ClientSettings>
</telerik:RadGrid>
and code behind
Partial Class Items
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim DivisionID As Integer = 3
Dim ws As CommonFunctions
If Page.IsPostBack Then
Else
ws = New CommonFunctions
rgItems.DataSource = ws.GetItems(DivisionID)
rgItems.DataBind()
End If
ws = Nothing
End Sub
Protected Sub rgItems_NeedDataSource(ByVal source As Object, ByVal e As Telerik.Web.UI.GridNeedDataSourceEventArgs) Handles rgItems.NeedDataSource
Dim DivisionID As Integer = 3
Dim ws As New CommonFunctions
rgItems.DataSource = ws.GetItems(DivisionID)
ws = Nothing
End Sub
End Class
the user control HTML
<%@ Control Language="VB" AutoEventWireup="false" CodeFile="OrderItem.ascx.vb" Inherits="OrderItem" %>
<table border="1" cellpadding="1" cellspacing="1" style="background-color:#CC9900;">
<tr>
<td>ItemID</td>
<td>
<asp:Label ID="lblItemID" Text='<%# DataBinder.Eval( Container, "DataItem.ItemID") %>' runat="server" />
</td>
</tr>
...
<tr>
<td>
<asp:Button ID="btnAddtoOrder" Text="Add to Order" CommandName="AddtoOrder" runat="server" />
</td>
<td align="right">
<asp:Button ID="btnCancel" Text="Cancel" CommandName="Cancel" CausesValidation="false" runat="server" />
</td>
</tr>
</table>
and code behind for the user control
Imports System.Data
Partial Class OrderItem
Inherits System.Web.UI.UserControl
Private _dataItem As Object
Public Property DataItem() As Object
Get
Return Me._dataItem
End Get
Set(ByVal value As Object)
Me._dataItem = value
End Set
End Property
' where do I get this???????
Private _dealerNumber As Int64
Public Property DealerNumber() As Int64
Get
Return Me._dealerNumber
End Get
Set(ByVal value As Int64)
Me._dealerNumber = value
End Set
End Property
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
End Sub
Protected Sub btnAddtoOrder_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnAddtoOrder.Click
Dim ItemID, OrderItemID As Integer
If Page.IsValid Then
Else
Exit Sub
End If
ItemID = CInt(lblItemID.Text)
Dim ws As New CommonFunctions
OrderItemID = ws.AddToOrder(DealerNumber, ItemID, etc)
ws = Nothing
End Sub
End Class
On the doubleclick a user control opens up containing the part number, description, cost, etc.
is there a way to pass into (or pull up) the customer number?
I could always add it to the data source but that is increasing the size of an already large data table
the add is on a click event in the control - I could change it to trigger an Insert (adding it to the order table, not the items table)
I am working in VS2010 ASP.NET 4.0
the grid is filled through LINQ to SQL
from the main page:
<asp:Content ID="cntBody" ContentPlaceHolderID="cpHolder" Runat="Server">
<telerik:RadScriptManager ID="rsManager" runat="server" />
<telerik:RadCodeBlock ID="rcBlock" runat="server">
<script type="text/javascript">
function RowDblClick(sender, eventArgs) {
sender.get_masterTableView().editItem(eventArgs.get_itemIndexHierarchical());
}
</script>
</telerik:RadCodeBlock>
<telerik:RadAjaxManager ID="raManager" runat="server">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="rgItems">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="rgItems" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManager>
the grid (from the main page)
<telerik:RadGrid ID="rgItems" AutoGenerateColumns="False" AllowPaging="True"
runat="server" AllowFilteringByColumn="True" AllowSorting="True" GridLines="None">
<ClientSettings>
<Scrolling AllowScroll="True" UseStaticHeaders="True" />
</ClientSettings>
<MasterTableView DataKeyNames="ItemID" EditMode="PopUp">
<Columns>
<telerik:GridBoundColumn UniqueName="ItemID" DataField="ItemID" Visible="False">
</telerik:GridBoundColumn>
...
</Columns>
<EditFormSettings UserControlName="OrderItem.ascx" EditFormType="WebUserControl">
</EditFormSettings>
</MasterTableView>
<ClientSettings>
<ClientEvents OnRowDblClick="RowDblClick" />
</ClientSettings>
</telerik:RadGrid>
and code behind
Partial Class Items
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim DivisionID As Integer = 3
Dim ws As CommonFunctions
If Page.IsPostBack Then
Else
ws = New CommonFunctions
rgItems.DataSource = ws.GetItems(DivisionID)
rgItems.DataBind()
End If
ws = Nothing
End Sub
Protected Sub rgItems_NeedDataSource(ByVal source As Object, ByVal e As Telerik.Web.UI.GridNeedDataSourceEventArgs) Handles rgItems.NeedDataSource
Dim DivisionID As Integer = 3
Dim ws As New CommonFunctions
rgItems.DataSource = ws.GetItems(DivisionID)
ws = Nothing
End Sub
End Class
the user control HTML
<%@ Control Language="VB" AutoEventWireup="false" CodeFile="OrderItem.ascx.vb" Inherits="OrderItem" %>
<table border="1" cellpadding="1" cellspacing="1" style="background-color:#CC9900;">
<tr>
<td>ItemID</td>
<td>
<asp:Label ID="lblItemID" Text='<%# DataBinder.Eval( Container, "DataItem.ItemID") %>' runat="server" />
</td>
</tr>
...
<tr>
<td>
<asp:Button ID="btnAddtoOrder" Text="Add to Order" CommandName="AddtoOrder" runat="server" />
</td>
<td align="right">
<asp:Button ID="btnCancel" Text="Cancel" CommandName="Cancel" CausesValidation="false" runat="server" />
</td>
</tr>
</table>
and code behind for the user control
Imports System.Data
Partial Class OrderItem
Inherits System.Web.UI.UserControl
Private _dataItem As Object
Public Property DataItem() As Object
Get
Return Me._dataItem
End Get
Set(ByVal value As Object)
Me._dataItem = value
End Set
End Property
' where do I get this???????
Private _dealerNumber As Int64
Public Property DealerNumber() As Int64
Get
Return Me._dealerNumber
End Get
Set(ByVal value As Int64)
Me._dealerNumber = value
End Set
End Property
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
End Sub
Protected Sub btnAddtoOrder_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnAddtoOrder.Click
Dim ItemID, OrderItemID As Integer
If Page.IsValid Then
Else
Exit Sub
End If
ItemID = CInt(lblItemID.Text)
Dim ws As New CommonFunctions
OrderItemID = ws.AddToOrder(DealerNumber, ItemID, etc)
ws = Nothing
End Sub
End Class