I have the following scenario.
See Captura1.
1- RadListBox
2- UserGrid
3- Custom transfer buttons.
4- Add Button.
All is working fine except the steps defined in captura1.
I click on Add Button --> Open a new RadWindows, Save, Close this windows and execute AjaxRequest ( THIS WORKS PERFECT!!)
AjaxRequest execute a methods whose reload RadListBox, in debug mode I saw the new User , but in UI RadListBox does not show the new User.
this is my ascx:
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="AssociateUsers.ascx.cs"
Inherits="WebSearch.UI.Admin.UserControls.Community.AssociateUsers" %>
<telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">
<script type="text/javascript">
function GridCreated() {
grid = $find("<%=UserGrid.ClientID%>");
var btnEdit = $find("<%=btnEditUser.ClientID%>");
var selectedRows = grid.MasterTableView.get_selectedItems();
if (selectedRows.length == 1 & btnEdit != null) {
btnEdit.set_visible(true);
} else { btnEdit.set_visible(false) };
}
function RowSelected(sender, eventArgs) {
HideShowEditButton(sender, eventArgs);
}
function RowDeselected(sender, eventArgs) {
HideShowEditButton(sender, eventArgs);
}
function HideShowEditButton(sender, eventArgs) {
var grid = sender;
var btnEdit = $find("<%=btnEditUser.ClientID%>");
var selectedRows = grid.MasterTableView.get_selectedItems();
if (selectedRows.length == 1) {
btnEdit.set_visible(true);
var grid = $find("<%=UserGrid.ClientID %>");
debugger;
var selectedItem = grid.MasterTableView.get_selectedItems()[0];
document.getElementById('associateUsers_UserId').value = selectedItem.getDataKeyValue("Id");
var currentTooltip = btnEdit.get_toolTip();
var userFullName = selectedItem.getDataKeyValue("FullName");
if (currentTooltip.indexOf("{UserFullName}") > 0) {
currentTooltip = currentTooltip.replace("{UserFullName}", userFullName);
}
else {
if (currentTooltip.indexOf(document.getElementById('associateUsers_UserNameBefore').value) > 0) {
var token = document.getElementById('associateUsers_UserNameBefore').value;
currentTooltip = currentTooltip.replace(token, userFullName);
}
}
document.getElementById('associateUsers_UserNameBefore').value = userFullName;
btnEdit.set_toolTip(currentTooltip);
} else { btnEdit.set_visible(false); }
}
function editUser() {
var id = document.getElementById('associateUsers_UserId').value;
if (id != null) {
var oBrowserWnd = GetRadWindow().BrowserWindow;
var oWindow = oBrowserWnd.radopen("UserForm.aspx?ID=" + id, "UserFormDialog");
oWindow.set_modal(true);
oWindow.set_visibleStatusbar(false);
oWindow.set_behaviors(Telerik.Web.UI.WindowBehaviors.Move + Telerik.Web.UI.WindowBehaviors.Close);
oWindow.setSize(800, 600);
oWindow.center();
}
return false;
}
function addUser() {
var oBrowserWnd = GetRadWindow().BrowserWindow;
var oWindow = oBrowserWnd.radopen("UserForm.aspx", "UserFormDialog");
oWindow.set_modal(true);
oWindow.set_visibleStatusbar(false);
oWindow.set_behaviors(Telerik.Web.UI.WindowBehaviors.Move + Telerik.Web.UI.WindowBehaviors.Close);
oWindow.setSize(800, 600);
oWindow.center();
return false;
}
function rbtnClear_OnClientClicking(sender, eventArgs) {
clearFilterText();
var listbox = $find("<%=rlbAvailableUser.ClientID%>");
clearListEmphasis(listbox);
createMatchingList(listbox, "");
}
function rlbAvailableUser_OnClientTransferring(sender, eventArgs) {
clearListEmphasis(sender);
clearFilterText();
createMatchingList(sender, "");
reDesignControls();
}
function filterList() {
var listbox = $find("<%=rlbAvailableUser.ClientID%>");
var textbox = $find('<%=tbAvailableFilterUser.ClientID%>');
clearListEmphasis(listbox);
createMatchingList(listbox, textbox.get_textBoxValue());
}
function clearListEmphasis(listbox) { ClearListEmphasis(listbox); }
function createMatchingList(listbox, filterText) { CreateMatchingList(listbox, filterText); }
// Clears the text from the filter.
function clearFilterText() {
var textbox = $find('<%=tbAvailableFilterUser.ClientID%>');
textbox.clear();
}
</script>
</telerik:RadCodeBlock>
<asp:Table ID="Table1" runat="server" CssClass="mainTable">
<asp:TableRow>
<asp:TableCell CssClass="titleColumnLeftButton">
<telerik:RadButton ID="btnAddUser" runat="server" Skin="Vista" AutoPostBack="false"
OnClientClicked="addUser">
<Icon PrimaryIconUrl="/UI/Images/add.png" PrimaryIconWidth="21px" PrimaryIconHeight="25px"
PrimaryIconTop="3px" PrimaryIconLeft="9px" />
</telerik:RadButton>
</asp:TableCell>
<asp:TableCell CssClass="titleColumnRightButton">
<telerik:RadButton ID="btnEditUser" runat="server" Skin="Vista" AutoPostBack="false"
OnClientClicked="editUser">
<Icon PrimaryIconUrl="/UI/Images/pencil.png" PrimaryIconWidth="21px" PrimaryIconHeight="25px"
PrimaryIconTop="3px" PrimaryIconLeft="9px" />
</telerik:RadButton>
</asp:TableCell>
</asp:TableRow>
<asp:TableRow>
<asp:TableCell CssClass="titleColumnLeft">
<asp:Literal runat="server" ID="litAvailable" /></asp:TableCell>
<asp:TableCell CssClass="titleColumnRight">
<span style="white-space: normal;">
<asp:Label runat="server" ID="litSelected" />
</span>
</asp:TableCell>
</asp:TableRow>
<asp:TableRow>
<asp:TableCell ColumnSpan="2" CssClass="listBoxTable">
<telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server" Height="100%" Width="100%"
LoadingPanelID="LoadCombo">
<asp:Table runat="server" ID="tblListBox" CssClass="subTable" >
<asp:TableRow>
<asp:TableCell CssClass="searchColumnLeft">
<asp:Table runat="server" ID="Table2" CssClass="subTable" >
<asp:TableRow>
<asp:TableCell ColumnSpan="2">
<div class="cellTextBoxSearchL">
<telerik:RadTextBox ID="tbAvailableFilterUser" runat="server" Width="100%" autocomplete="on"
onkeyup="filterList();" />
</div>
<div class="cellLabelSearchL">
<telerik:RadButton ID="rbtnClear" runat="server" Width="19px" AutoPostBack="false"
OnClientClicking="rbtnClear_OnClientClicking" Style="margin-left: 1px">
<Icon PrimaryIconUrl="/UI/Images/cross.png" PrimaryIconWidth="18px" PrimaryIconTop="3px"
PrimaryIconLeft="3px" />
</telerik:RadButton>
</div>
</asp:TableCell>
</asp:TableRow>
<asp:TableRow>
<asp:TableCell CssClass="leftColumn">
<telerik:RadListBox ID="rlbAvailableUser" runat="server" Width="100%" AllowTransferOnDoubleClick="true"
SelectionMode="Multiple" Height="100%" EnableDragAndDrop="true" Sort="Ascending"
OnClientTransferring="rlbAvailableUser_OnClientTransferring" AutoPostBackOnTransfer="true">
</telerik:RadListBox>
</asp:TableCell>
<asp:TableCell CssClass="centerColumn">
<telerik:RadButton ID="btnToRight" runat="server" Width="19px" AutoPostBack="true"
OnClick="btnToRight_Click" Style="margin-left: 1px">
<Icon PrimaryIconUrl="/UI/Images/toRight.png" PrimaryIconWidth="16px" PrimaryIconTop="3px"
PrimaryIconLeft="3px" />
</telerik:RadButton>
<br />
<br />
<telerik:RadButton ID="btnToLeft" runat="server" Width="19px" AutoPostBack="true"
Style="margin-left: 1px" OnClick="btnToLeft_Click">
<Icon PrimaryIconUrl="/UI/Images/toLeft.png" PrimaryIconWidth="16px" PrimaryIconTop="3px"
PrimaryIconLeft="3px" />
</telerik:RadButton>
<br />
<br />
<telerik:RadButton ID="btnAllToRight" runat="server" Width="19px" AutoPostBack="true"
Style="margin-left: 1px" OnClick="btnAllToRight_Click">
<Icon PrimaryIconUrl="/UI/Images/allToRight.png" PrimaryIconWidth="16px" PrimaryIconTop="3px"
PrimaryIconLeft="3px" />
</telerik:RadButton>
<br />
<br />
<telerik:RadButton ID="btnAllToLeft" runat="server" Width="19px" AutoPostBack="true"
Style="margin-left: 1px" OnClick="btnAllToLeft_Click">
<Icon PrimaryIconUrl="/UI/Images/allToLeft.png" PrimaryIconWidth="16px" PrimaryIconTop="3px"
PrimaryIconLeft="3px" />
</telerik:RadButton>
<br />
</asp:TableCell>
</asp:TableRow>
</asp:Table>
</asp:TableCell>
<asp:TableCell CssClass="searchColumnRight">
<telerik:RadGrid ID="UserGrid" runat="server" AutoGenerateColumns="false" Skin="Vista"
AllowMultiRowSelection="True" PageSize="10" AllowPaging="true" EnableViewState="false">
<MasterTableView DataKeyNames="Id,FullName" ClientDataKeyNames="Id,FullName" CommandItemDisplay="None"
EditMode="InPlace">
<Columns>
<telerik:GridClientSelectColumn CommandName="Select" UniqueName="Select" HeaderStyle-Width="30px"
Resizable="false" />
<telerik:GridTemplateColumn DataField="Id" HeaderText="Id" UniqueName="Id" Visible="false"
ConvertEmptyStringToNull="true">
<InsertItemTemplate>
<telerik:RadTextBox ID="lblId" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Id") %> '
Width="150px" ReadOnly="true" Enabled="false" CssClass="labelGrid" />
</InsertItemTemplate>
<EditItemTemplate>
<telerik:RadTextBox ID="txtId" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Id") %> '
Width="150px" CssClass="labelGrid" ReadOnly="true" />
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn UniqueName="FullName" DataField="FullName" HeaderStyle-Width="60%">
<ItemTemplate>
<asp:Label ID="lblFullName" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "FullName") %>'></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn UniqueName="IsAdmin" DataField="IsInput" DataType="System.Boolean"
HeaderStyle-Width="30%">
<ItemTemplate>
<asp:CheckBox ID="chkIsAdmin" Width="120px" runat="server" Checked='<%# (DataBinder.Eval(Container.DataItem,"IsAdmin") is DBNull ?false:Eval("IsAdmin")) %>'
OnCheckedChanged="chkIsAdmin_Checked" AutoPostBack="true" />
</ItemTemplate>
</telerik:GridTemplateColumn>
</Columns>
</MasterTableView>
<ClientSettings>
<ClientEvents OnGridCreated="GridCreated" OnRowSelected="RowSelected" OnRowDeselected="RowDeselected" />
</ClientSettings>
</telerik:RadGrid>
</asp:TableCell>
</asp:TableRow>
</asp:Table>
</telerik:RadAjaxPanel>
</asp:TableCell>
</asp:TableRow>
</asp:Table>
<asp:HiddenField ID="CommunityId" runat="server" />
<asp:HiddenField ID="UserId" runat="server" />
<asp:HiddenField ID="UserNameBefore" runat="server" />
this is my ascx.cs
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Resources;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Telerik.Web.UI;
using WebSearch.Components.CommonFunctions;
using WebSearch.Components.GeneralFunctions;
using WebSearch.SecurityModel;
using WebSearch.UI.UserControls;
namespace WebSearch.UI.Admin.UserControls.Community
{
public partial class AssociateUsers : System.Web.UI.UserControl
{
#region Properties&Variables
private string _culture;
private ResourceManager _resources;
private RadAjaxManager AjaxManager { get; set; }
private RadAjaxLoadingPanel Loading { get; set; }
public WSOrganization Organization = new WSOrganization();
public int Id
{
get { return Convert.ToInt16(CommunityId.Value); }
set { CommunityId.Value = value.ToString(); }
}
public Notification _notification = new Notification();
public List<WSUser> GetUserAssociated
{
get { return CommunityUsers; }
}
protected List<WSUser> CommunityUsers
{
get
{
try
{
object obj = Session["CommunityUsers"];
if (obj == null )
{
obj = Organization.GetUsersOfCommunity(Id);
if (obj != null)
{
Session["CommunityUsers"] = obj;
}
else
{
obj = new List<WSUser>();
}
}
return (List<WSUser>)obj;
}
catch
{
Session["CommunityUsers"] = null;
}
return new List<WSUser>();
}
set { Session["CommunityUsers"] = value; }
}
protected List<WSUser> AvailableUsers
{
get
{
try
{
object obj = Session["AvailableUsers"];
if (obj == null)
{
obj = Organization.GetAvailableUsers(Id);
if (obj != null)
{
Session["AvailableUsers"] = obj;
}
else
{
obj = new List<WSUser>();
}
}
return (List<WSUser>)obj;
}
catch
{
Session["AvailableUsers"] = null;
}
return new List<WSUser>();
}
set { Session["AvailableUsers"] = value; }
}
#endregion
#region Events
#region Page
protected void Page_Load(object sender, EventArgs e)
{
try
{
LoadAjax();
}
catch(Exception ex)
{
_notification.LoadCatchNotification(ex, typeof(CommunityForm).FullName);
}
}
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
GetInfo();
LoadSettings();
UserGrid.NeedDataSource += UserGrid_NeedSource;
UserGrid.ItemCommand += UserGrid_ItemCommand;
}
private void UserGrid_ItemCommand(object sender, GridCommandEventArgs e)
{
if (e.CommandName == RadGrid.SelectCommandName && e.Item is GridDataItem)
{
var a = 1;
}
}
#endregion
#region Buttons
protected void btnToRight_Click(object sender, EventArgs e)
{
List<WSUser> avalible = AvailableUsers;
List<WSUser> communityUsers = CommunityUsers;
foreach(RadListBoxItem item in rlbAvailableUser.SelectedItems)
{
int userId = Convert.ToInt16(item.Value);
communityUsers.Insert(0, GetUser(AvailableUsers, userId));
avalible.Remove(GetUser(AvailableUsers, userId));
}
AvailableUsers = avalible;
CommunityUsers = communityUsers;
FillAvailableUsers();
UserGrid.DataSource = CommunityUsers;
UserGrid.Rebind();
UserGrid.MasterTableView.ClearSelectedItems();
}
protected void btnToLeft_Click(object sender, EventArgs e)
{
List<WSUser> avalible = AvailableUsers;
List<WSUser> communityUsers = CommunityUsers;
foreach (GridDataItem item in UserGrid.MasterTableView.GetSelectedItems())
{
int userId = Convert.ToInt16(item.GetDataKeyValue("Id"));
avalible.Insert(0, GetUser(CommunityUsers, userId));
communityUsers.Remove(GetUser(CommunityUsers, userId));
}
AvailableUsers = avalible;
CommunityUsers = communityUsers;
FillAvailableUsers();
UserGrid.DataSource = CommunityUsers;
UserGrid.Rebind();
UserGrid.MasterTableView.ClearSelectedItems();
}
protected void btnAllToRight_Click(object sender, EventArgs e)
{
List<WSUser> avalible = AvailableUsers;
List<WSUser> communityUsers = CommunityUsers;
foreach (RadListBoxItem item in rlbAvailableUser.Items)
{
int userId = Convert.ToInt16(item.Value);
communityUsers.Insert(0, GetUser(AvailableUsers, userId));
avalible.Remove(GetUser(AvailableUsers, userId));
}
AvailableUsers = avalible;
CommunityUsers = communityUsers;
FillAvailableUsers();
UserGrid.DataSource = CommunityUsers;
UserGrid.Rebind();
UserGrid.MasterTableView.ClearSelectedItems();
}
protected void btnAllToLeft_Click(object sender, EventArgs e)
{
List<WSUser> avalible = AvailableUsers;
List<WSUser> communityUsers = CommunityUsers;
foreach (GridDataItem item in UserGrid.MasterTableView.Items)
{
int userId = Convert.ToInt16(item.GetDataKeyValue("Id"));
avalible.Insert(0, GetUser(CommunityUsers, userId));
communityUsers.Remove(GetUser(CommunityUsers, userId));
}
AvailableUsers = avalible;
CommunityUsers = communityUsers;
FillAvailableUsers();
UserGrid.DataSource = CommunityUsers;
UserGrid.Rebind();
UserGrid.MasterTableView.ClearSelectedItems();
}
#endregion
#region grid
protected void UserGrid_NeedSource(object sender, GridNeedDataSourceEventArgs e)
{
UserGrid.DataSource = CommunityUsers;
}
protected void chkIsAdmin_Checked(object sender, EventArgs e)
{
CheckBox chkIsAdmin = (CheckBox)sender;
string Id = (chkIsAdmin.Parent.NamingContainer as GridDataItem).GetDataKeyValue("Id").ToString();
List<WSUser> communityUsers = CommunityUsers;
(GetUser(CommunityUsers, Convert.ToInt16(Id))).IsAdmin = chkIsAdmin.Checked;
CommunityUsers = communityUsers;
}
#endregion
#region ListBox
protected void rlbChosenUser_SelectedIndexChange(object sender, EventArgs e)
{
try
{
}
catch (Exception ex)
{
_notification.LoadCatchNotification(ex, typeof(AssociateUsers).FullName);
}
}
protected void RadAjaxManager1_AjaxRequest(object sender, AjaxRequestEventArgs e)
{
switch (e.Argument)
{
case "RefeshForm":
UpdateSession();
break;
}
}
#endregion
#endregion
#region Methods
#region Page
private void UpdateSession()
{
List<WSUser> avalible =AvailableUsers;
List<WSUser> comunityUsers = CommunityUsers;
avalible = Organization.GetAvailableUsers(Id);
comunityUsers = Organization.GetUsersOfCommunity(Id);
AvailableUsers = avalible;
CommunityUsers = comunityUsers;
FillAvailableUsers();
UserGrid.DataSource = CommunityUsers;
UserGrid.Rebind();
foreach(GridDataItem item in UserGrid.Items)
{
if (item.GetDataKeyValue("Id").ToString() == UserId.Value)
{
item.Selected = true;
btnEditUser.ToolTip =
_resources.GetString(btnEditUser.ID + "_ToolTip", new CultureInfo(_culture)).Replace("{UserFullName}",
item.GetDataKeyValue("FullName").ToString());
}
}
//if (items.Count() > 0)
//{
// foreach (GridDataItem item in items)
// {
// foreach (GridDataItem row in UserGrid.Items)
// {
// if (row.GetDataKeyValue("Id").ToString() == item.GetDataKeyValue("Id").ToString())
// {
// row.Selected = true;
// }
// }
// }
//}
//if (items.Count() == 1)
//{
// //string userFullName = items[0].GetDataKeyValue("FullName").ToString();
// //btnEditUser.ToolTip =
// //_resources.GetString(btnEditUser.ID + "_ToolTip", new CultureInfo(_culture)).Replace("{UserFullName}",
// // userFullName);
//}
}
private void PageSettings()
{
btnAddUser.Text = _resources.GetString(btnAddUser.ID, new CultureInfo(_culture));
btnEditUser.Text = _resources.GetString(btnEditUser.ID, new CultureInfo(_culture));
btnEditUser.ToolTip = _resources.GetString(btnEditUser.ID + "_ToolTip", new CultureInfo(_culture));
litAvailable.Text = _resources.GetString(litAvailable.ID, new CultureInfo(_culture));
litSelected.Text = _resources.GetString(litSelected.ID, new CultureInfo(_culture));
tbAvailableFilterUser.EmptyMessage = _resources.GetString(tbAvailableFilterUser.ID , new CultureInfo(_culture));
ButtonsSetting();
}
private void ButtonsSetting()
{
btnToRight.ToolTip = _resources.GetString(btnToRight.ID, new CultureInfo(_culture));
btnToLeft.ToolTip = _resources.GetString(btnToLeft.ID, new CultureInfo(_culture));
btnAllToRight.ToolTip = _resources.GetString(btnAllToRight.ID, new CultureInfo(_culture));
btnAllToLeft.ToolTip = _resources.GetString(btnAllToLeft.ID, new CultureInfo(_culture));
//if (!Page.IsPostBack) btnEditUser.Visible = false;
}
private void LoadAjax()
{
AjaxManager = Page.FindControl("RadAjaxManager1") as RadAjaxManager;
AjaxManager.AjaxRequest += RadAjaxManager1_AjaxRequest;
Loading = Page.FindControl("LoadCombo") as RadAjaxLoadingPanel;
if (AjaxManager == null || Loading == null) return;
AjaxManager.AjaxSettings.AddAjaxSetting(UserGrid, UserGrid);
AjaxManager.AjaxSettings.AddAjaxSetting(AjaxManager, UserGrid);
AjaxManager.AjaxSettings.AddAjaxSetting(AjaxManager, btnEditUser);
AjaxManager.AjaxSettings.AddAjaxSetting(btnEditUser, UserGrid);
}
private void GetInfo()
{
_culture = Variables.CurrentCulture();
_resources = Components.GeneralFunctions.Resources.GetAdminUserControlResources("AssociateUsers", "Community");
}
private void LoadSettings()
{
if (string.IsNullOrEmpty(_culture) || _resources == null) GetInfo();
PageSettings();
GridSettings();
FillAvailableUsers();
}
private static WSUser GetUser(IEnumerable<WSUser> fieldsToSearchIn, int userId)
{
return fieldsToSearchIn.FirstOrDefault(x => x.Id == userId);
}
#endregion
#region grid
private void GridSettings()
{
CustomProperties(UserGrid); /* use common properties */
GridFunction.SetHeaderNameUnCommonGrid(UserGrid, _resources, null,1);
GridFunction.GridOptions(UserGrid);
}
public void CustomProperties(RadGrid grid)
{
grid.AllowPaging = true;
grid.AllowSorting = true;
grid.CellSpacing = 0;
grid.EnableHeaderContextMenu = false;
grid.EnableHeaderContextFilterMenu = false;
grid.AllowFilteringByColumn = true;
grid.GridLines = GridLines.None;
grid.Skin = "Vista";
grid.Width = Unit.Percentage(100);
grid.PageSize = 10;
grid.ItemStyle.VerticalAlign = VerticalAlign.Middle;
grid.GroupingSettings.CaseSensitive = false;
grid.PagerStyle.AlwaysVisible = false;
grid.PagerStyle.Mode = GridPagerMode.NumericPages;
grid.ClientSettings.ActiveRowIndex = "true";
grid.ClientSettings.AllowColumnHide = false;
grid.ClientSettings.Resizing.AllowColumnResize = false;
grid.ClientSettings.Resizing.ClipCellContentOnResize = true;
grid.ClientSettings.Resizing.EnableRealTimeResize = true;
grid.ClientSettings.Scrolling.AllowScroll = false;
grid.ClientSettings.Scrolling.UseStaticHeaders = true;
grid.Culture = new CultureInfo(_culture);
grid.ClientSettings.Selecting.AllowRowSelect = true;
grid.MasterTableView.GetColumnSafe("RowIndicator").Display = false;
grid.MasterTableView.CommandItemDisplay = GridCommandItemDisplay.None;
grid.MasterTableView.Width = Unit.Percentage(100);
grid.MasterTableView.EnableHeaderContextMenu = false;
}
#endregion
#region ListBox
private void FillAvailableUsers()
{
RadListBoxItem item;
rlbAvailableUser.Items.Clear();
foreach (WSUser cUser in AvailableUsers)
{
string textItem;
if (cUser.FullName.Length > 25)
{
textItem = StringFunction.TruncateString(cUser.FullName, 25);
}
else
{
textItem = cUser.FullName;
}
item = new RadListBoxItem
{
Text = textItem,
Value = cUser.Id.ToString(),
ToolTip = cUser.FullName
};
rlbAvailableUser.Items.Add(item);
}
}
#endregion
#endregion
}
}
I tried Remove RadAjaxPanel, and Add
AjaxManager.AjaxSettings.AddAjaxSetting(btnAddUser, rlbAvailableUsers); --> BUT ListBox disappear show a gray
line.
And then I added
AjaxManager.AjaxSettings.AddAjaxSetting(btnToleft, rlbAvailableUsers); -->ListBox disappear show a gray
line.
AjaxManager.AjaxSettings.AddAjaxSetting(btnAllToleft, rlbAvailableUsers); -->ListBox disappear show a gray line.
I need help!!! Please!!!
regards
See Captura1.
1- RadListBox
2- UserGrid
3- Custom transfer buttons.
4- Add Button.
All is working fine except the steps defined in captura1.
I click on Add Button --> Open a new RadWindows, Save, Close this windows and execute AjaxRequest ( THIS WORKS PERFECT!!)
AjaxRequest execute a methods whose reload RadListBox, in debug mode I saw the new User , but in UI RadListBox does not show the new User.
this is my ascx:
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="AssociateUsers.ascx.cs"
Inherits="WebSearch.UI.Admin.UserControls.Community.AssociateUsers" %>
<telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">
<script type="text/javascript">
function GridCreated() {
grid = $find("<%=UserGrid.ClientID%>");
var btnEdit = $find("<%=btnEditUser.ClientID%>");
var selectedRows = grid.MasterTableView.get_selectedItems();
if (selectedRows.length == 1 & btnEdit != null) {
btnEdit.set_visible(true);
} else { btnEdit.set_visible(false) };
}
function RowSelected(sender, eventArgs) {
HideShowEditButton(sender, eventArgs);
}
function RowDeselected(sender, eventArgs) {
HideShowEditButton(sender, eventArgs);
}
function HideShowEditButton(sender, eventArgs) {
var grid = sender;
var btnEdit = $find("<%=btnEditUser.ClientID%>");
var selectedRows = grid.MasterTableView.get_selectedItems();
if (selectedRows.length == 1) {
btnEdit.set_visible(true);
var grid = $find("<%=UserGrid.ClientID %>");
debugger;
var selectedItem = grid.MasterTableView.get_selectedItems()[0];
document.getElementById('associateUsers_UserId').value = selectedItem.getDataKeyValue("Id");
var currentTooltip = btnEdit.get_toolTip();
var userFullName = selectedItem.getDataKeyValue("FullName");
if (currentTooltip.indexOf("{UserFullName}") > 0) {
currentTooltip = currentTooltip.replace("{UserFullName}", userFullName);
}
else {
if (currentTooltip.indexOf(document.getElementById('associateUsers_UserNameBefore').value) > 0) {
var token = document.getElementById('associateUsers_UserNameBefore').value;
currentTooltip = currentTooltip.replace(token, userFullName);
}
}
document.getElementById('associateUsers_UserNameBefore').value = userFullName;
btnEdit.set_toolTip(currentTooltip);
} else { btnEdit.set_visible(false); }
}
function editUser() {
var id = document.getElementById('associateUsers_UserId').value;
if (id != null) {
var oBrowserWnd = GetRadWindow().BrowserWindow;
var oWindow = oBrowserWnd.radopen("UserForm.aspx?ID=" + id, "UserFormDialog");
oWindow.set_modal(true);
oWindow.set_visibleStatusbar(false);
oWindow.set_behaviors(Telerik.Web.UI.WindowBehaviors.Move + Telerik.Web.UI.WindowBehaviors.Close);
oWindow.setSize(800, 600);
oWindow.center();
}
return false;
}
function addUser() {
var oBrowserWnd = GetRadWindow().BrowserWindow;
var oWindow = oBrowserWnd.radopen("UserForm.aspx", "UserFormDialog");
oWindow.set_modal(true);
oWindow.set_visibleStatusbar(false);
oWindow.set_behaviors(Telerik.Web.UI.WindowBehaviors.Move + Telerik.Web.UI.WindowBehaviors.Close);
oWindow.setSize(800, 600);
oWindow.center();
return false;
}
function rbtnClear_OnClientClicking(sender, eventArgs) {
clearFilterText();
var listbox = $find("<%=rlbAvailableUser.ClientID%>");
clearListEmphasis(listbox);
createMatchingList(listbox, "");
}
function rlbAvailableUser_OnClientTransferring(sender, eventArgs) {
clearListEmphasis(sender);
clearFilterText();
createMatchingList(sender, "");
reDesignControls();
}
function filterList() {
var listbox = $find("<%=rlbAvailableUser.ClientID%>");
var textbox = $find('<%=tbAvailableFilterUser.ClientID%>');
clearListEmphasis(listbox);
createMatchingList(listbox, textbox.get_textBoxValue());
}
function clearListEmphasis(listbox) { ClearListEmphasis(listbox); }
function createMatchingList(listbox, filterText) { CreateMatchingList(listbox, filterText); }
// Clears the text from the filter.
function clearFilterText() {
var textbox = $find('<%=tbAvailableFilterUser.ClientID%>');
textbox.clear();
}
</script>
</telerik:RadCodeBlock>
<asp:Table ID="Table1" runat="server" CssClass="mainTable">
<asp:TableRow>
<asp:TableCell CssClass="titleColumnLeftButton">
<telerik:RadButton ID="btnAddUser" runat="server" Skin="Vista" AutoPostBack="false"
OnClientClicked="addUser">
<Icon PrimaryIconUrl="/UI/Images/add.png" PrimaryIconWidth="21px" PrimaryIconHeight="25px"
PrimaryIconTop="3px" PrimaryIconLeft="9px" />
</telerik:RadButton>
</asp:TableCell>
<asp:TableCell CssClass="titleColumnRightButton">
<telerik:RadButton ID="btnEditUser" runat="server" Skin="Vista" AutoPostBack="false"
OnClientClicked="editUser">
<Icon PrimaryIconUrl="/UI/Images/pencil.png" PrimaryIconWidth="21px" PrimaryIconHeight="25px"
PrimaryIconTop="3px" PrimaryIconLeft="9px" />
</telerik:RadButton>
</asp:TableCell>
</asp:TableRow>
<asp:TableRow>
<asp:TableCell CssClass="titleColumnLeft">
<asp:Literal runat="server" ID="litAvailable" /></asp:TableCell>
<asp:TableCell CssClass="titleColumnRight">
<span style="white-space: normal;">
<asp:Label runat="server" ID="litSelected" />
</span>
</asp:TableCell>
</asp:TableRow>
<asp:TableRow>
<asp:TableCell ColumnSpan="2" CssClass="listBoxTable">
<telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server" Height="100%" Width="100%"
LoadingPanelID="LoadCombo">
<asp:Table runat="server" ID="tblListBox" CssClass="subTable" >
<asp:TableRow>
<asp:TableCell CssClass="searchColumnLeft">
<asp:Table runat="server" ID="Table2" CssClass="subTable" >
<asp:TableRow>
<asp:TableCell ColumnSpan="2">
<div class="cellTextBoxSearchL">
<telerik:RadTextBox ID="tbAvailableFilterUser" runat="server" Width="100%" autocomplete="on"
onkeyup="filterList();" />
</div>
<div class="cellLabelSearchL">
<telerik:RadButton ID="rbtnClear" runat="server" Width="19px" AutoPostBack="false"
OnClientClicking="rbtnClear_OnClientClicking" Style="margin-left: 1px">
<Icon PrimaryIconUrl="/UI/Images/cross.png" PrimaryIconWidth="18px" PrimaryIconTop="3px"
PrimaryIconLeft="3px" />
</telerik:RadButton>
</div>
</asp:TableCell>
</asp:TableRow>
<asp:TableRow>
<asp:TableCell CssClass="leftColumn">
<telerik:RadListBox ID="rlbAvailableUser" runat="server" Width="100%" AllowTransferOnDoubleClick="true"
SelectionMode="Multiple" Height="100%" EnableDragAndDrop="true" Sort="Ascending"
OnClientTransferring="rlbAvailableUser_OnClientTransferring" AutoPostBackOnTransfer="true">
</telerik:RadListBox>
</asp:TableCell>
<asp:TableCell CssClass="centerColumn">
<telerik:RadButton ID="btnToRight" runat="server" Width="19px" AutoPostBack="true"
OnClick="btnToRight_Click" Style="margin-left: 1px">
<Icon PrimaryIconUrl="/UI/Images/toRight.png" PrimaryIconWidth="16px" PrimaryIconTop="3px"
PrimaryIconLeft="3px" />
</telerik:RadButton>
<br />
<br />
<telerik:RadButton ID="btnToLeft" runat="server" Width="19px" AutoPostBack="true"
Style="margin-left: 1px" OnClick="btnToLeft_Click">
<Icon PrimaryIconUrl="/UI/Images/toLeft.png" PrimaryIconWidth="16px" PrimaryIconTop="3px"
PrimaryIconLeft="3px" />
</telerik:RadButton>
<br />
<br />
<telerik:RadButton ID="btnAllToRight" runat="server" Width="19px" AutoPostBack="true"
Style="margin-left: 1px" OnClick="btnAllToRight_Click">
<Icon PrimaryIconUrl="/UI/Images/allToRight.png" PrimaryIconWidth="16px" PrimaryIconTop="3px"
PrimaryIconLeft="3px" />
</telerik:RadButton>
<br />
<br />
<telerik:RadButton ID="btnAllToLeft" runat="server" Width="19px" AutoPostBack="true"
Style="margin-left: 1px" OnClick="btnAllToLeft_Click">
<Icon PrimaryIconUrl="/UI/Images/allToLeft.png" PrimaryIconWidth="16px" PrimaryIconTop="3px"
PrimaryIconLeft="3px" />
</telerik:RadButton>
<br />
</asp:TableCell>
</asp:TableRow>
</asp:Table>
</asp:TableCell>
<asp:TableCell CssClass="searchColumnRight">
<telerik:RadGrid ID="UserGrid" runat="server" AutoGenerateColumns="false" Skin="Vista"
AllowMultiRowSelection="True" PageSize="10" AllowPaging="true" EnableViewState="false">
<MasterTableView DataKeyNames="Id,FullName" ClientDataKeyNames="Id,FullName" CommandItemDisplay="None"
EditMode="InPlace">
<Columns>
<telerik:GridClientSelectColumn CommandName="Select" UniqueName="Select" HeaderStyle-Width="30px"
Resizable="false" />
<telerik:GridTemplateColumn DataField="Id" HeaderText="Id" UniqueName="Id" Visible="false"
ConvertEmptyStringToNull="true">
<InsertItemTemplate>
<telerik:RadTextBox ID="lblId" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Id") %> '
Width="150px" ReadOnly="true" Enabled="false" CssClass="labelGrid" />
</InsertItemTemplate>
<EditItemTemplate>
<telerik:RadTextBox ID="txtId" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Id") %> '
Width="150px" CssClass="labelGrid" ReadOnly="true" />
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn UniqueName="FullName" DataField="FullName" HeaderStyle-Width="60%">
<ItemTemplate>
<asp:Label ID="lblFullName" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "FullName") %>'></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn UniqueName="IsAdmin" DataField="IsInput" DataType="System.Boolean"
HeaderStyle-Width="30%">
<ItemTemplate>
<asp:CheckBox ID="chkIsAdmin" Width="120px" runat="server" Checked='<%# (DataBinder.Eval(Container.DataItem,"IsAdmin") is DBNull ?false:Eval("IsAdmin")) %>'
OnCheckedChanged="chkIsAdmin_Checked" AutoPostBack="true" />
</ItemTemplate>
</telerik:GridTemplateColumn>
</Columns>
</MasterTableView>
<ClientSettings>
<ClientEvents OnGridCreated="GridCreated" OnRowSelected="RowSelected" OnRowDeselected="RowDeselected" />
</ClientSettings>
</telerik:RadGrid>
</asp:TableCell>
</asp:TableRow>
</asp:Table>
</telerik:RadAjaxPanel>
</asp:TableCell>
</asp:TableRow>
</asp:Table>
<asp:HiddenField ID="CommunityId" runat="server" />
<asp:HiddenField ID="UserId" runat="server" />
<asp:HiddenField ID="UserNameBefore" runat="server" />
this is my ascx.cs
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Resources;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Telerik.Web.UI;
using WebSearch.Components.CommonFunctions;
using WebSearch.Components.GeneralFunctions;
using WebSearch.SecurityModel;
using WebSearch.UI.UserControls;
namespace WebSearch.UI.Admin.UserControls.Community
{
public partial class AssociateUsers : System.Web.UI.UserControl
{
#region Properties&Variables
private string _culture;
private ResourceManager _resources;
private RadAjaxManager AjaxManager { get; set; }
private RadAjaxLoadingPanel Loading { get; set; }
public WSOrganization Organization = new WSOrganization();
public int Id
{
get { return Convert.ToInt16(CommunityId.Value); }
set { CommunityId.Value = value.ToString(); }
}
public Notification _notification = new Notification();
public List<WSUser> GetUserAssociated
{
get { return CommunityUsers; }
}
protected List<WSUser> CommunityUsers
{
get
{
try
{
object obj = Session["CommunityUsers"];
if (obj == null )
{
obj = Organization.GetUsersOfCommunity(Id);
if (obj != null)
{
Session["CommunityUsers"] = obj;
}
else
{
obj = new List<WSUser>();
}
}
return (List<WSUser>)obj;
}
catch
{
Session["CommunityUsers"] = null;
}
return new List<WSUser>();
}
set { Session["CommunityUsers"] = value; }
}
protected List<WSUser> AvailableUsers
{
get
{
try
{
object obj = Session["AvailableUsers"];
if (obj == null)
{
obj = Organization.GetAvailableUsers(Id);
if (obj != null)
{
Session["AvailableUsers"] = obj;
}
else
{
obj = new List<WSUser>();
}
}
return (List<WSUser>)obj;
}
catch
{
Session["AvailableUsers"] = null;
}
return new List<WSUser>();
}
set { Session["AvailableUsers"] = value; }
}
#endregion
#region Events
#region Page
protected void Page_Load(object sender, EventArgs e)
{
try
{
LoadAjax();
}
catch(Exception ex)
{
_notification.LoadCatchNotification(ex, typeof(CommunityForm).FullName);
}
}
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
GetInfo();
LoadSettings();
UserGrid.NeedDataSource += UserGrid_NeedSource;
UserGrid.ItemCommand += UserGrid_ItemCommand;
}
private void UserGrid_ItemCommand(object sender, GridCommandEventArgs e)
{
if (e.CommandName == RadGrid.SelectCommandName && e.Item is GridDataItem)
{
var a = 1;
}
}
#endregion
#region Buttons
protected void btnToRight_Click(object sender, EventArgs e)
{
List<WSUser> avalible = AvailableUsers;
List<WSUser> communityUsers = CommunityUsers;
foreach(RadListBoxItem item in rlbAvailableUser.SelectedItems)
{
int userId = Convert.ToInt16(item.Value);
communityUsers.Insert(0, GetUser(AvailableUsers, userId));
avalible.Remove(GetUser(AvailableUsers, userId));
}
AvailableUsers = avalible;
CommunityUsers = communityUsers;
FillAvailableUsers();
UserGrid.DataSource = CommunityUsers;
UserGrid.Rebind();
UserGrid.MasterTableView.ClearSelectedItems();
}
protected void btnToLeft_Click(object sender, EventArgs e)
{
List<WSUser> avalible = AvailableUsers;
List<WSUser> communityUsers = CommunityUsers;
foreach (GridDataItem item in UserGrid.MasterTableView.GetSelectedItems())
{
int userId = Convert.ToInt16(item.GetDataKeyValue("Id"));
avalible.Insert(0, GetUser(CommunityUsers, userId));
communityUsers.Remove(GetUser(CommunityUsers, userId));
}
AvailableUsers = avalible;
CommunityUsers = communityUsers;
FillAvailableUsers();
UserGrid.DataSource = CommunityUsers;
UserGrid.Rebind();
UserGrid.MasterTableView.ClearSelectedItems();
}
protected void btnAllToRight_Click(object sender, EventArgs e)
{
List<WSUser> avalible = AvailableUsers;
List<WSUser> communityUsers = CommunityUsers;
foreach (RadListBoxItem item in rlbAvailableUser.Items)
{
int userId = Convert.ToInt16(item.Value);
communityUsers.Insert(0, GetUser(AvailableUsers, userId));
avalible.Remove(GetUser(AvailableUsers, userId));
}
AvailableUsers = avalible;
CommunityUsers = communityUsers;
FillAvailableUsers();
UserGrid.DataSource = CommunityUsers;
UserGrid.Rebind();
UserGrid.MasterTableView.ClearSelectedItems();
}
protected void btnAllToLeft_Click(object sender, EventArgs e)
{
List<WSUser> avalible = AvailableUsers;
List<WSUser> communityUsers = CommunityUsers;
foreach (GridDataItem item in UserGrid.MasterTableView.Items)
{
int userId = Convert.ToInt16(item.GetDataKeyValue("Id"));
avalible.Insert(0, GetUser(CommunityUsers, userId));
communityUsers.Remove(GetUser(CommunityUsers, userId));
}
AvailableUsers = avalible;
CommunityUsers = communityUsers;
FillAvailableUsers();
UserGrid.DataSource = CommunityUsers;
UserGrid.Rebind();
UserGrid.MasterTableView.ClearSelectedItems();
}
#endregion
#region grid
protected void UserGrid_NeedSource(object sender, GridNeedDataSourceEventArgs e)
{
UserGrid.DataSource = CommunityUsers;
}
protected void chkIsAdmin_Checked(object sender, EventArgs e)
{
CheckBox chkIsAdmin = (CheckBox)sender;
string Id = (chkIsAdmin.Parent.NamingContainer as GridDataItem).GetDataKeyValue("Id").ToString();
List<WSUser> communityUsers = CommunityUsers;
(GetUser(CommunityUsers, Convert.ToInt16(Id))).IsAdmin = chkIsAdmin.Checked;
CommunityUsers = communityUsers;
}
#endregion
#region ListBox
protected void rlbChosenUser_SelectedIndexChange(object sender, EventArgs e)
{
try
{
}
catch (Exception ex)
{
_notification.LoadCatchNotification(ex, typeof(AssociateUsers).FullName);
}
}
protected void RadAjaxManager1_AjaxRequest(object sender, AjaxRequestEventArgs e)
{
switch (e.Argument)
{
case "RefeshForm":
UpdateSession();
break;
}
}
#endregion
#endregion
#region Methods
#region Page
private void UpdateSession()
{
List<WSUser> avalible =AvailableUsers;
List<WSUser> comunityUsers = CommunityUsers;
avalible = Organization.GetAvailableUsers(Id);
comunityUsers = Organization.GetUsersOfCommunity(Id);
AvailableUsers = avalible;
CommunityUsers = comunityUsers;
FillAvailableUsers();
UserGrid.DataSource = CommunityUsers;
UserGrid.Rebind();
foreach(GridDataItem item in UserGrid.Items)
{
if (item.GetDataKeyValue("Id").ToString() == UserId.Value)
{
item.Selected = true;
btnEditUser.ToolTip =
_resources.GetString(btnEditUser.ID + "_ToolTip", new CultureInfo(_culture)).Replace("{UserFullName}",
item.GetDataKeyValue("FullName").ToString());
}
}
//if (items.Count() > 0)
//{
// foreach (GridDataItem item in items)
// {
// foreach (GridDataItem row in UserGrid.Items)
// {
// if (row.GetDataKeyValue("Id").ToString() == item.GetDataKeyValue("Id").ToString())
// {
// row.Selected = true;
// }
// }
// }
//}
//if (items.Count() == 1)
//{
// //string userFullName = items[0].GetDataKeyValue("FullName").ToString();
// //btnEditUser.ToolTip =
// //_resources.GetString(btnEditUser.ID + "_ToolTip", new CultureInfo(_culture)).Replace("{UserFullName}",
// // userFullName);
//}
}
private void PageSettings()
{
btnAddUser.Text = _resources.GetString(btnAddUser.ID, new CultureInfo(_culture));
btnEditUser.Text = _resources.GetString(btnEditUser.ID, new CultureInfo(_culture));
btnEditUser.ToolTip = _resources.GetString(btnEditUser.ID + "_ToolTip", new CultureInfo(_culture));
litAvailable.Text = _resources.GetString(litAvailable.ID, new CultureInfo(_culture));
litSelected.Text = _resources.GetString(litSelected.ID, new CultureInfo(_culture));
tbAvailableFilterUser.EmptyMessage = _resources.GetString(tbAvailableFilterUser.ID , new CultureInfo(_culture));
ButtonsSetting();
}
private void ButtonsSetting()
{
btnToRight.ToolTip = _resources.GetString(btnToRight.ID, new CultureInfo(_culture));
btnToLeft.ToolTip = _resources.GetString(btnToLeft.ID, new CultureInfo(_culture));
btnAllToRight.ToolTip = _resources.GetString(btnAllToRight.ID, new CultureInfo(_culture));
btnAllToLeft.ToolTip = _resources.GetString(btnAllToLeft.ID, new CultureInfo(_culture));
//if (!Page.IsPostBack) btnEditUser.Visible = false;
}
private void LoadAjax()
{
AjaxManager = Page.FindControl("RadAjaxManager1") as RadAjaxManager;
AjaxManager.AjaxRequest += RadAjaxManager1_AjaxRequest;
Loading = Page.FindControl("LoadCombo") as RadAjaxLoadingPanel;
if (AjaxManager == null || Loading == null) return;
AjaxManager.AjaxSettings.AddAjaxSetting(UserGrid, UserGrid);
AjaxManager.AjaxSettings.AddAjaxSetting(AjaxManager, UserGrid);
AjaxManager.AjaxSettings.AddAjaxSetting(AjaxManager, btnEditUser);
AjaxManager.AjaxSettings.AddAjaxSetting(btnEditUser, UserGrid);
}
private void GetInfo()
{
_culture = Variables.CurrentCulture();
_resources = Components.GeneralFunctions.Resources.GetAdminUserControlResources("AssociateUsers", "Community");
}
private void LoadSettings()
{
if (string.IsNullOrEmpty(_culture) || _resources == null) GetInfo();
PageSettings();
GridSettings();
FillAvailableUsers();
}
private static WSUser GetUser(IEnumerable<WSUser> fieldsToSearchIn, int userId)
{
return fieldsToSearchIn.FirstOrDefault(x => x.Id == userId);
}
#endregion
#region grid
private void GridSettings()
{
CustomProperties(UserGrid); /* use common properties */
GridFunction.SetHeaderNameUnCommonGrid(UserGrid, _resources, null,1);
GridFunction.GridOptions(UserGrid);
}
public void CustomProperties(RadGrid grid)
{
grid.AllowPaging = true;
grid.AllowSorting = true;
grid.CellSpacing = 0;
grid.EnableHeaderContextMenu = false;
grid.EnableHeaderContextFilterMenu = false;
grid.AllowFilteringByColumn = true;
grid.GridLines = GridLines.None;
grid.Skin = "Vista";
grid.Width = Unit.Percentage(100);
grid.PageSize = 10;
grid.ItemStyle.VerticalAlign = VerticalAlign.Middle;
grid.GroupingSettings.CaseSensitive = false;
grid.PagerStyle.AlwaysVisible = false;
grid.PagerStyle.Mode = GridPagerMode.NumericPages;
grid.ClientSettings.ActiveRowIndex = "true";
grid.ClientSettings.AllowColumnHide = false;
grid.ClientSettings.Resizing.AllowColumnResize = false;
grid.ClientSettings.Resizing.ClipCellContentOnResize = true;
grid.ClientSettings.Resizing.EnableRealTimeResize = true;
grid.ClientSettings.Scrolling.AllowScroll = false;
grid.ClientSettings.Scrolling.UseStaticHeaders = true;
grid.Culture = new CultureInfo(_culture);
grid.ClientSettings.Selecting.AllowRowSelect = true;
grid.MasterTableView.GetColumnSafe("RowIndicator").Display = false;
grid.MasterTableView.CommandItemDisplay = GridCommandItemDisplay.None;
grid.MasterTableView.Width = Unit.Percentage(100);
grid.MasterTableView.EnableHeaderContextMenu = false;
}
#endregion
#region ListBox
private void FillAvailableUsers()
{
RadListBoxItem item;
rlbAvailableUser.Items.Clear();
foreach (WSUser cUser in AvailableUsers)
{
string textItem;
if (cUser.FullName.Length > 25)
{
textItem = StringFunction.TruncateString(cUser.FullName, 25);
}
else
{
textItem = cUser.FullName;
}
item = new RadListBoxItem
{
Text = textItem,
Value = cUser.Id.ToString(),
ToolTip = cUser.FullName
};
rlbAvailableUser.Items.Add(item);
}
}
#endregion
#endregion
}
}
I tried Remove RadAjaxPanel, and Add
AjaxManager.AjaxSettings.AddAjaxSetting(btnAddUser, rlbAvailableUsers); --> BUT ListBox disappear show a gray
line.
And then I added
AjaxManager.AjaxSettings.AddAjaxSetting(btnToleft, rlbAvailableUsers); -->ListBox disappear show a gray
line.
AjaxManager.AjaxSettings.AddAjaxSetting(btnAllToleft, rlbAvailableUsers); -->ListBox disappear show a gray line.
I need help!!! Please!!!
regards