or
<
div
style
=
"margin: 0 0 15px 0;"
><
b
>Available User(s):</
b
>
<
telerik:RadComboBox
ID
=
"rcbApprovalUsers"
runat
=
"server"
MarkFirstMatch
=
"true"
AllowCustomText
=
"false"
Filter
=
"Contains"
Width
=
"250px"
/>
</
div
>
void
rcbApprovalUsers_DataBinding(
object
sender, EventArgs e)
{
List<ApproverInfo> unassignedApprovalUsers =
CustomerFactory.ApprovalForwardingGetUnassigned(ECISite.ID, Master.ECICustomer.ID, Master.ECISession.AccountInfo.AccountNumber);
rcbApprovalUsers.Visible = bAddApprover.Visible = (unassignedApprovalUsers.Count != 0);
lNoApproversAvailable.Visible = (unassignedApprovalUsers.Count == 0);
if
(unassignedApprovalUsers.Count > 0)
{
rcbApprovalUsers.DataSource = unassignedApprovalUsers;
rcbApprovalUsers.DataTextField =
"UserInfo"
;
rcbApprovalUsers.DataValueField =
"CustomerID"
;
rcbApprovalUsers.SelectedValue = unassignedApprovalUsers[0].CustomerID.ToString();
}
}
I am using dropdown within Radgrid which has inline editing.
Now when I click on dropdown and then dragging the below scroll bar the list items of dropdown is also moving.
Please have a look on attached screen and suggest me some solution:
Thanks
Mukesh
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="List.aspx.cs" Inherits="Quasar.WebUI.Customers.Customers.List" %>
<
asp:Content
ID
=
"Content1"
ContentPlaceHolderID
=
"HeadContent"
runat
=
"server"
>
<
title
>Quasar | CRM - Customers List</
title
>
</
asp:Content
>
<
asp:Content
ID
=
"Content2"
ContentPlaceHolderID
=
"MainContent"
runat
=
"server"
>
<
telerik:RadAjaxLoadingPanel
ID
=
"ListRadAjaxLoadingPanel"
runat
=
"server"
Skin
=
"Default"
/>
<
telerik:RadAjaxManager
ID
=
"ListRadAjaxManager"
runat
=
"server"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"ListGrid"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"ListGrid"
LoadingPanelID
=
"ListRadAjaxLoadingPanel"
UpdatePanelHeight
=
""
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
</
telerik:RadAjaxManager
>
<
telerik:RadWindowManager
ID
=
"ListRadWindowManager"
runat
=
"server"
/>
<
div
class
=
"findField"
>
<
asp:Label
ID
=
"FindFieldLabel"
runat
=
"server"
AssociatedControlID
=
"FindFieldTextBox"
>Customer :</
asp:Label
>
<
telerik:RadTextBox
ID
=
"FindFieldTextBox"
runat
=
"server"
EmptyMessage
=
"(empty)"
MaxLength
=
"50"
Columns
=
"50"
SelectionOnFocus
=
"SelectAll"
ToolTip
=
"Find Customer"
></
telerik:RadTextBox
>
<
telerik:RadButton
ID
=
"FindButton"
runat
=
"server"
Icon-PrimaryIconUrl
=
"~/Images/Find.png"
Text
=
"Find"
Width
=
"75px"
onclick
=
"FindButton_Click"
>
</
telerik:RadButton
>
</
div
>
<
telerik:RadGrid
ID
=
"ListGrid"
runat
=
"server"
AllowFilteringByColumn
=
"True"
AllowPaging
=
"True"
AllowSorting
=
"True"
AutoGenerateColumns
=
"False"
GridLines
=
"None"
ShowStatusBar
=
"True"
ShowGroupPanel
=
"True"
EnableLinqExpressions
=
"false"
onneeddatasource
=
"ListGrid_NeedDataSource"
onitemcommand
=
"ListGrid_ItemCommand"
>
<
ClientSettings
AllowColumnsReorder
=
"True"
ReorderColumnsOnClient
=
"True"
AllowDragToGroup
=
"True"
>
<
Selecting
AllowRowSelect
=
"False"
/>
</
ClientSettings
>
<
GroupingSettings
CaseSensitive
=
"false"
/>
<
MasterTableView
DataKeyNames
=
"CustomerId"
CommandItemDisplay
=
"Top"
>
<
CommandItemSettings
ExportToPdfText
=
"Export to Pdf"
></
CommandItemSettings
>
<
RowIndicatorColumn
>
<
HeaderStyle
Width
=
"20px"
></
HeaderStyle
>
</
RowIndicatorColumn
>
<
ExpandCollapseColumn
>
<
HeaderStyle
Width
=
"20px"
></
HeaderStyle
>
</
ExpandCollapseColumn
>
<
NestedViewSettings
>
<
ParentTableRelation
>
<
telerik:GridRelationFields
DetailKeyField
=
"ContactId"
MasterKeyField
=
"CustomerId"
/>
<
telerik:GridRelationFields
DetailKeyField
=
"AddressId"
MasterKeyField
=
"CustomerId"
/>
</
ParentTableRelation
>
</
NestedViewSettings
>
<
NestedViewTemplate
>
<
asp:Panel
runat
=
"server"
ID
=
"InnerContainer"
CssClass
=
"viewWrap"
>
<
telerik:RadTabStrip
runat
=
"server"
ID
=
"CustomersTabStrip"
MultiPageID
=
"CustomersMultipage"
SelectedIndex
=
"0"
>
<
Tabs
>
<
telerik:RadTab
runat
=
"server"
Text
=
"Contacts"
PageViewID
=
"ContactsPageView"
>
</
telerik:RadTab
>
<
telerik:RadTab
runat
=
"server"
Text
=
"Addresses"
PageViewID
=
"AddressesPageView"
>
</
telerik:RadTab
>
</
Tabs
>
</
telerik:RadTabStrip
>
<
telerik:RadMultiPage
runat
=
"server"
ID
=
"CustomersMultipage"
SelectedIndex
=
"0"
RenderSelectedPageOnly
=
"false"
>
<
telerik:RadPageView
runat
=
"server"
ID
=
"ContactsPageView"
>
<
telerik:RadGrid
ID
=
"ContactsGrid"
runat
=
"server"
AllowSorting
=
"false"
AllowFilteringByColumn
=
"false"
PageSize
=
"5"
AllowPaging
=
"true"
AutoGenerateColumns
=
"False"
GridLines
=
"None"
onneeddatasource
=
"ContactsGrid_NeedDataSource"
>
<
ClientSettings
AllowColumnsReorder
=
"True"
ReorderColumnsOnClient
=
"True"
AllowDragToGroup
=
"True"
>
<
Selecting
AllowRowSelect
=
"True"
/>
</
ClientSettings
>
<
MasterTableView
DataKeyNames
=
"ContactId"
>
<
Columns
>
<
telerik:GridBoundColumn
DataField
=
"ContactId"
HeaderText
=
"Id"
UniqueName
=
"ContactId"
Visible
=
"false"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"Full Name"
DataField
=
"FullName"
UniqueName
=
"FullName"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"Position"
DataField
=
"Position"
UniqueName
=
"Position"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"Contact Type"
DataField
=
"ContactType.Description"
UniqueName
=
"ContactType"
>
</
telerik:GridBoundColumn
>
<
telerik:GridHyperLinkColumn
DataNavigateUrlFields
=
"Email"
DataNavigateUrlFormatString
=
"mailto:{0}"
DataTextField
=
"Email"
HeaderText
=
"Email"
UniqueName
=
"Email"
Groupable
=
"false"
AllowFiltering
=
"false"
>
</
telerik:GridHyperLinkColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"Phone"
DataField
=
"Phone"
UniqueName
=
"Phone"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"Mobile"
DataField
=
"Mobile"
UniqueName
=
"Mobile"
>
</
telerik:GridBoundColumn
>
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
>
</
telerik:RadPageView
>
<
telerik:RadPageView
runat
=
"server"
ID
=
"AddressesPageView"
>
<
telerik:RadGrid
ID
=
"AddressesGrid"
runat
=
"server"
AllowSorting
=
"false"
AllowFilteringByColumn
=
"false"
PageSize
=
"5"
AllowPaging
=
"true"
AutoGenerateColumns
=
"False"
GridLines
=
"None"
onneeddatasource
=
"AddressesGrid_NeedDataSource"
>
<
ClientSettings
AllowColumnsReorder
=
"True"
ReorderColumnsOnClient
=
"True"
AllowDragToGroup
=
"True"
>
<
Selecting
AllowRowSelect
=
"True"
/>
</
ClientSettings
>
<
MasterTableView
DataKeyNames
=
"AddressId"
>
<
Columns
>
<
telerik:GridBoundColumn
DataField
=
"AddressId"
HeaderText
=
"Id"
UniqueName
=
"AddressId"
Visible
=
"false"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"Address Type"
DataField
=
"AddressType"
UniqueName
=
"AddressType"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"Full Address"
DataField
=
"FullAddress"
UniqueName
=
"FullAddress"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"Zip Code"
DataField
=
"ZipCode"
UniqueName
=
"ZipCode"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"City"
DataField
=
"City"
UniqueName
=
"City"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"Province"
DataField
=
"Province"
UniqueName
=
"Province"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"Country"
DataField
=
"Country"
UniqueName
=
"Country"
>
</
telerik:GridBoundColumn
>
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
>
</
telerik:RadPageView
>
</
telerik:RadMultiPage
>
</
asp:Panel
>
</
NestedViewTemplate
>
<
Columns
>
<
telerik:GridButtonColumn
ButtonType
=
"ImageButton"
Reorderable
=
"False"
Resizable
=
"False"
ShowFilterIcon
=
"False"
ShowSortIcon
=
"False"
UniqueName
=
"EditButton"
ImageUrl
=
"~/Images/Edit.png"
CommandName
=
"Edit"
>
<
ItemStyle
Width
=
"20px"
HorizontalAlign
=
"Center"
VerticalAlign
=
"Middle"
/>
</
telerik:GridButtonColumn
>
<
telerik:GridImageColumn
AllowFiltering
=
"False"
AllowSorting
=
"False"
DataAlternateTextField
=
"Name"
DataImageUrlFields
=
"Logo"
DataImageUrlFormatString
=
"~/Images/Customers/{0}"
Groupable
=
"False"
HeaderText
=
"Logo"
ImageHeight
=
"64px"
ImageWidth
=
"64px"
ShowSortIcon
=
"False"
UniqueName
=
"Logo"
ItemStyle-Width
=
"75px"
>
<
ItemStyle
Width
=
"75px"
/>
</
telerik:GridImageColumn
>
<
telerik:GridBoundColumn
DataField
=
"CustomerId"
HeaderText
=
"Id"
UniqueName
=
"CustomerId"
Visible
=
"false"
AllowFiltering
=
"False"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Name"
HeaderText
=
"Name"
UniqueName
=
"Name"
AutoPostBackOnFilter
=
"true"
CurrentFilterFunction
=
"Contains"
>
</
telerik:GridBoundColumn
>
<
telerik:GridHyperLinkColumn
DataNavigateUrlFields
=
"Web"
DataNavigateUrlFormatString
=
"{0}"
DataTextField
=
"Web"
HeaderText
=
"Web"
UniqueName
=
"Web"
Target
=
"_blank"
Groupable
=
"false"
AllowFiltering
=
"false"
>
</
telerik:GridHyperLinkColumn
>
<
telerik:GridBoundColumn
DataField
=
"Group.Name"
HeaderText
=
"Group"
UniqueName
=
"Group"
AutoPostBackOnFilter
=
"true"
CurrentFilterFunction
=
"Contains"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"AccountManager.FullName"
HeaderText
=
"Acct. Manager"
UniqueName
=
"AccountManager"
AutoPostBackOnFilter
=
"true"
CurrentFilterFunction
=
"Contains"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"SIC.Description"
HeaderText
=
"SIC"
UniqueName
=
"SIC"
AutoPostBackOnFilter
=
"true"
CurrentFilterFunction
=
"Contains"
>
</
telerik:GridBoundColumn
>
<
telerik:GridCheckBoxColumn
DataField
=
"IsProspect"
HeaderText
=
"Prospect"
UniqueName
=
"IsProspect"
AutoPostBackOnFilter
=
"true"
CurrentFilterFunction
=
"EqualTo"
>
</
telerik:GridCheckBoxColumn
>
<
telerik:GridButtonColumn
ButtonType
=
"ImageButton"
Reorderable
=
"False"
Resizable
=
"False"
ShowFilterIcon
=
"False"
ShowSortIcon
=
"False"
UniqueName
=
"DeleteButton"
ImageUrl
=
"~/Images/Delete.png"
CommandName
=
"Delete"
ConfirmDialogType
=
"RadWindow"
ConfirmText
=
"Are you sure you want to delete this record?"
ConfirmTitle
=
"Delete record..."
ConfirmDialogHeight
=
"130px"
>
<
ItemStyle
Width
=
"20px"
HorizontalAlign
=
"Center"
VerticalAlign
=
"Middle"
/>
</
telerik:GridButtonColumn
>
</
Columns
>
</
MasterTableView
>
<
PagerStyle
Mode
=
"NextPrevAndNumeric"
Position
=
"Bottom"
/>
<
HeaderContextMenu
EnableImageSprites
=
"True"
CssClass
=
"GridContextMenu GridContextMenu_Default"
></
HeaderContextMenu
>
</
telerik:RadGrid
>
</
asp:Content
>
#region Binding
// Bind main grid
protected
void
ListGrid_NeedDataSource(
object
sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
{
ListGrid.DataSource = BindControls();
}
protected
IEnumerable<Customer> BindControls()
{
var customers = customersRepository.GetAllCustomers();
return
customers;
}
// Bind contacts grid
protected
void
ContactsGrid_NeedDataSource(
object
sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
{
(sender
as
RadGrid).DataSource = BindContactsControls();
}
protected
IEnumerable<Contact> BindContactsControls()
{
var contacts = contactsRepository.GetContactsByCustomer(System.Convert.ToInt32(CurrentRecordId));
return
contacts;
}
// Bind addresses grid
protected
void
AddressesGrid_NeedDataSource(
object
sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
{
(sender
as
RadGrid).DataSource = BindAddressesControls();
}
protected
IEnumerable<Address> BindAddressesControls()
{
var addresses = addressesRepository.GetAddressesByCustomer(System.Convert.ToInt32(CurrentRecordId));
return
addresses;
}
#endregion
using
System.Linq;
using
System.Transactions;
using
System.Data;
namespace
Quasar.Repository
{
public
class
CustomersRepository
{
// Create data context
private
QuasarEntities entities =
new
QuasarEntities();
// Retrieve all Customers
public
IQueryable<Customer> GetAllCustomers()
{
return
entities.Customers.OrderBy(o => o.Name);
}
// Retrieve a Customer by Id
public
Customer GetCustomer(
int
id)
{
return
entities.Customers.FirstOrDefault(d => d.CustomerId == id);
}
// Add Customer
public
int
Add(Customer customer)
{
using
(TransactionScope transaction =
new
TransactionScope())
{
try
{
entities.Customers.AddObject(customer);
entities.SaveChanges();
// Commit Transaction
transaction.Complete();
return
customer.CustomerId;
}
catch
{
return
0;
}
}
}
// Delete Customer
public
bool
Delete(Customer customer)
{
using
(TransactionScope transaction =
new
TransactionScope())
{
try
{
// Delete Customer and childs
entities.Customers.DeleteObject(customer);
entities.SaveChanges();
// Commit Transaction
transaction.Complete();
return
true
;
}
catch
{
return
false
;
}
}
}
// Persistence
public
bool
Save()
{
using
(TransactionScope transaction =
new
TransactionScope())
{
try
{
entities.SaveChanges();
// Commit Transaction
transaction.Complete();
return
true
;
}
catch
{
return
false
;
}
}
}
}
}