object iControl =
new RadComboBox();
((RadComboBox)iControl).Width = Unit.Pixel(200);
((RadComboBox)iControl).AllowCustomText = true;
((RadComboBox)iControl).ShowToggleImage = true;
((RadComboBox)iControl).ShowMoreResultsBox = true;
((RadComboBox)iControl).EnableLoadOnDemand = true;
((RadComboBox)iControl).EnableVirtualScrolling = true;
((RadComboBox)iControl).MarkFirstMatch = true;
((RadComboBox)iControl).ItemsRequested += new RadComboBoxItemsRequestedEventHandler(index_create_ItemsRequested);
((RadComboBox)iControl).ID = "~~~" + docFieldDef.FieldTypeName + "~~~fld~" + docFieldDef.FieldDefID.ToString();
tbCell3.Controls.Add((RadComboBox)iControl);
And here is the shell for he event handler, although this code does not get executed at present.
protected void index_create_ItemsRequested(object o, RadComboBoxItemsRequestedEventArgs e)
{
<snip>
}
Please let me know if I have missed something.
Thanks,
Andy
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="AjaxProject_1.Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title>Default page</title></head><body> <form id="form1" runat="server"> <tel:RadScriptManager runat="server" ID="Rsm1"></tel:RadScriptManager> <tel:RadAjaxManager runat="server" ID="Ram1"></tel:RadAjaxManager> <tel:RadScriptBlock runat="server"> <script language="javascript"> function __doXBack(args) { var ram = $find("<%= Ram1.ClientID %>"); if (ram) ram.ajaxRequest(args); } function Refresh1(sender, args) { var value = args.getDataKeyValue("Id"); if (value) __doXBack("1|" + value); } function Refresh2(ddl) { __doXBack("2|" + ddl.options[ddl.selectedIndex].value); } </script> </tel:RadScriptBlock> <tel:RadAjaxPanel runat="server" ID="Rap1"> <asp:DropDownList runat="server" ID="Rcb1" onChange="Refresh2(this)"></asp:DropDownList> </tel:RadAjaxPanel> <hr/> <tel:RadAjaxPanel runat="server" ID="Rap2"> <tel:RadGrid runat="server" ID="Grid1"> <ClientSettings> <Selecting AllowRowSelect="True"></Selecting> <ClientEvents OnRowSelected="Refresh1"></ClientEvents> </ClientSettings> <MasterTableView ClientDataKeyNames="Id"></MasterTableView> </tel:RadGrid> </tel:RadAjaxPanel> </form></body></html>using System;using System.Collections.Generic;using System.Data;using System.Linq;using System.Text;using Telerik.Web.UI;namespace AjaxProject_1{ public partial class Default : System.Web.UI.Page { protected override void OnInit(EventArgs e) { base.OnInit(e); Ram1.AjaxRequest += Ram1OnAjaxRequest; } private void Ram1OnAjaxRequest(object sender, AjaxRequestEventArgs e) { if (e == null || string.IsNullOrEmpty(e.Argument)) return; if (e.Argument.StartsWith("1|")) { InitComboBox(e.Argument); Rap1.RaisePostBackEvent(null); } if (e.Argument.StartsWith("2|")) { InitGrid(); Rap2.RaisePostBackEvent(null); } } protected void Page_Load(object sender, EventArgs e) { if (IsPostBack) return; InitComboBox("0"); InitGrid(); } private void InitComboBox(string id) { Rcb1.Items.Clear(); var list = new List<string> {id}; for (var i = 0; i < 10; i++) list.Add(GetRandomPropertyValue()); Rcb1.DataSource = list; Rcb1.DataBind(); } private static readonly IList<string> Properties = new[] {"Id", "Name"}; private void InitGrid() { var data = new DataTable(); Array.ForEach(Properties.ToArray(), t => data.Columns.Add(new DataColumn(t, typeof(string)))); for (var i = 0; i < 10; i++) { var row = data.NewRow(); row["Id"] = i.ToString(); row["Name"] = GetRandomPropertyValue(); data.Rows.Add(row); } Grid1.DataSource = data; Grid1.DataBind(); } private static IList<char> _chars; private static readonly Random Rnd = new Random(DateTime.Now.Millisecond); private static string GetRandomPropertyValue() { if (_chars == null) { _chars = new List<char> {' ', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'}; for (var c = 'a'; c <= 'z'; c++) _chars.Add(c); for (var c = 'A'; c <= 'Z'; c++) _chars.Add(c); } var len = Rnd.Next(10, 15); var sb = new StringBuilder(); for (var i = 0; i < len; i++) sb.Append(_chars[Rnd.Next(0, _chars.Count - 1)]); return sb.ToString(); } }}Hi!
I am new to asp, so please excuse me if I don't express myself correctly.
I have a RadScheduler with a Linq data source. I want to get appointments from the database based on a given id.
In my DataClasses.dbml I have four tables and (for now) two stored procedures, GetProgram() and GetProgramById(int id). The user chooses the id from a checkboxlist, and I want to call the GetProgramById(int id) from codebehind.
In markup I have configured the RadScheduler with DataSourceID="ProgramDataSource". I try to set the data source property to the result of the GetProgramById(int id), but then I get an error saying that both DataSourceID and DataSource properties are set, and that I have to remove one of them. If I remove DataSourceID="ProgramDataSource" from markup I can set DataSource=GetProgrambyID(int id), but then none of the appointments are updated to the database after closing the AdvancedEdit form of the scheduler.
There must be a way to get a subset of the appointments, and to be able to edit them, so I would be greatful if anyone could help me find it.
Thank you!
Regards, Jill-Connie Lorentsen
protected void RadListBoxTmp_ItemCheck(object sender, RadListBoxItemEventArgs e)
{
int id;
bool result = Int32.TryParse( e.Item.Value, out id);
if ( e.Item.Checked && result)
{
var dataContext = new DataClassesDataContext();
ProgramDataManager dataManager =
new ProgramDataManager((SqlConnection)dataContext.Connection);
var program = new List<GetProgramByIDResult>();
program = dataManager.GetProgramByID(id);
RadScheduler1.DataSource = program;
RadScheduler1.Rebind();
}
}

function RadGrid1_Command(sender, args)
{
args.set_cancel(true);
var currentPageIndex = sender.get_masterTableView().get_currentPageIndex();
var pageSize = sender.get_masterTableView().get_pageSize();
...........................................
...........................................
..........................................
...........................................
...................
}
function updateGrid(result) {
var tableView = $find(document.getElementById("hdnradgridclientid").value).get_masterTableView();
tableView.set_dataSource(result);
tableView.dataBind();
}
function updateVirtualItemCount(result)
{
var tableView = $find(document.getElementById("hdnradgridclientid").value).get_masterTableView();
tableView.set_virtualItemCount(result);
} <telerik:RadGrid ID="RadGridAssessment" EnableViewState="false" Width="100%" runat="server"
AllowSorting="True" Height="430px" AllowMultiRowSelection="true" AllowPaging="true"GridLines="None" BorderWidth="0" AutoGenerateColumns="true" PagerStyle-AlwaysVisible="false"Skin="Vista" OnNeedDataSource="RadGrid1_NeedDataSource"><PagerStyle Visible="false" />
<MasterTableView Width="99%">
</MasterTableView>
<ClientSettings EnableRowHoverStyle="true">
<ClientEvents OnCommand="RadGrid1_Command" />
<Selecting AllowRowSelect="True"></Selecting>
<Scrolling AllowScroll="true" EnableVirtualScrollPaging="true" UseStaticHeaders="true"ScrollHeight="275px" SaveScrollPosition="True">
</Scrolling>
</ClientSettings>
</telerik:RadGrid>