Telerik Forums
UI for ASP.NET AJAX Forum
0 answers
143 views
Hello,

We recently discovered a problem with RadRotator's vertical scrolling in IE6/IE7. The problem has been fixed in the latest internal build that you can download from "Your account" section. As an immediate workaround, you can use the following fix:

<head runat="server">
    <title></title>
    <style type="text/css">
        html* .FixRotatorHeight .rrVerticalList
        {
            width: 100px;
        }
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <telerik:RadScriptManager ID="RadScriptManager1" runat="server">
    </telerik:RadScriptManager>
    <telerik:RadRotator ID="RadRotator1" runat="server" CssClass="FixRotatorHeight" ScrollDirection="Up"
        Width="100px" Height="200px" ItemHeight="100" ItemWidth="100" RotatorType="AutomaticAdvance"

Note the CSS class, assigned to the RadRotator control. The width property in the body of the CSS selector matches the width of the RadRotator. If you are using buttons for manual horizontal scrolling, decrease the width in the CSS selector by 20 pixels for each button.

Regards,
the Telerik team
Telerik Admin
Top achievements
Rank 1
Iron
 asked on 22 Jul 2010
1 answer
105 views
Hi Telerik Team,

Is there a way to allow pdf export to span pages widthwise? Normally pdf export restricts to one page width-wise, Is there a way to allow it to span to next page for extra columns?

Regards,
Zeeshan
 
Daniel
Telerik team
 answered on 22 Jul 2010
5 answers
240 views
Hello guys.

I'm using this example: http://demos.telerik.com/aspnet-ajax/grid/examples/programming/filteringtemplatecolumns/defaultcs.aspx

My doubt is: If I have 2 or more columns in my grid, and I need to put dropdown filter in each one, I really need to create a custom .cs page for each column?

If not, what's the suggestion?

Thanks in advance guys.

Have a nice Weekend.

Regards.
Mira
Telerik team
 answered on 22 Jul 2010
1 answer
288 views
Hi
I am dynamically generating the RadGrid. Everything is dynamic.
I have kept the autogenerateColumns property false. And i have dounded only one column. But when my page renders it shows all the columns in the database.But actually i want only one column. I have pasted the code below.

TableRow

 

objTR = new TableRow();

 

ControlToAdd.Controls.Add(objTR);

 

TableCell objTC;

 

 

DataTable forGridDT = new DataTable();

 

forGridDT =

Common.getDataTableByList(listQuery, ListName,ListColumns);

 

 

 

 

//I am getting the data from the share point. Which is returning me the all columns with values.

RadGrid
RadGrid1 = new RadGrid();

 

RadGrid1.ID =  objRadGrid

RadGrid1.AllowPaging = true;

 

RadGrid1.AutoGenerateColumns =

false;

 

RadGrid1.DataSource = forGridDT;

RadGrid1.DataBind();

 

 

GridBoundColumn boundColumn = new GridBoundColumn();

 

boundColumn.DataField =

"Category";

 

 

//boundColumn.DataType =Type.st;

 

boundColumn.HeaderText =

"Category";

 

boundColumn.UniqueName =

"Category";

 

RadGrid1.MasterTableView.Columns.Clear();

RadGrid1.MasterTableView.Columns.Add(boundColumn);

objTC =

new TableCell();

 

objTC.Width =

new Unit("100%");

 

objTC.Controls.Add(RadGrid1);

objTR.Controls.Add(objTC);

Shinu
Top achievements
Rank 2
 answered on 22 Jul 2010
1 answer
178 views
Hi guys,

i'm having an issue with a page where clicking a RadTreeNode shows the details of the clicked node.

If you then click a different node, the details relating to that node will show, etc.

This all works correctly, and the various components exist inside an update panel.

The problem occurs when a full-page postback occurs... (ie. not just the update panel)... after a full page postback, the treeview can still be seen, however the first time you click a node, that node becomes selected momentarily then becomes unselected again, and the details for that node don't show up as they should. You then have to click that node again to get the desired behaviour.

So basically after a full page postback you have to click the RadTreeNode twice instead of once to get its desired behaviour.

Any advice appreciated. Code shown below:

<%

@ Page Language="C#" MasterPageFile="~/Member.master" Title="Fylebase :: Professional Content Management System" %>

 

<%

@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajax" %>

 

<%

@ Import Namespace="System.Data" %>

 

<

 

script runat="server">

 

 

protected void Page_Load(object sender, EventArgs e)

 

{

loadGalleries();

}

 

public override void DataBind()

 

{

 

base.ChildControlsCreated = false;

 

}

 

protected void btnAddGallery_Click(object sender, EventArgs e)

 

{

 

dbGALLERIES.addGallery(svars.user_id);

 

loadGalleries();

}

 

private void loadGalleries()

 

{

Accordion1.Panes.Clear();

 

DataSet ds = dbGALLERIES.getGalleries(svars.user_id);

 

 

foreach (DataRow dr in ds.Tables[0].Rows)

 

{

 

AccordionPane ap = new AccordionPane();

 

 

Literal lit = new Literal();

 

lit.Text = dr[

"gallery_name"].ToString();

 

ap.HeaderContainer.Controls.Add(lit);

Telerik.Web.UI.

RadTreeView rtv = new Telerik.Web.UI.RadTreeView();

 

Telerik.Web.UI.

RadTreeViewContextMenu menu = new Telerik.Web.UI.RadTreeViewContextMenu();

 

menu.ID =

"rtvcMenu1";

 

Telerik.Web.UI.

RadMenuItem rmi = new Telerik.Web.UI.RadMenuItem("Add Image");

 

menu.Items.Add(rmi);

rtv.ContextMenus.Add(menu);

 

 

//.. Start image menu

 

Telerik.Web.UI.

RadTreeViewContextMenu imgmenu = new Telerik.Web.UI.RadTreeViewContextMenu();

 

imgmenu.ID =

"rtvcMenu2";

 

Telerik.Web.UI.

RadMenuItem rmi2 = new Telerik.Web.UI.RadMenuItem("Add Image");

 

imgmenu.Items.Add(rmi2);

rmi2 =

new Telerik.Web.UI.RadMenuItem("Publish / Unpublish");

 

imgmenu.Items.Add(rmi2);

rmi2 =

new Telerik.Web.UI.RadMenuItem("Move Up");

 

imgmenu.Items.Add(rmi2);

rmi2 =

new Telerik.Web.UI.RadMenuItem("Move Down");

 

imgmenu.Items.Add(rmi2);

rtv.ContextMenus.Add(imgmenu);

 

//.. End image menu

 

 

rtv.ContextMenuItemClick +=

new Telerik.Web.UI.RadTreeViewContextMenuEventHandler(menuItem_click);

 

rtv.NodeClick +=

new Telerik.Web.UI.RadTreeViewEventHandler(rtv_NodeClick);

 

Telerik.Web.UI.

RadTreeNode node = new Telerik.Web.UI.RadTreeNode("Gallery Settings", "g" + dr["gallery_id_pk"].ToString());

 

node.ContextMenuID = menu.ID;

node.ForeColor = System.Drawing.

Color.FromName("#937e28");

 

node.Font.Bold =

true;

 

node.ToolTip =

"Right-click to add an image";

 

rtv.Nodes.Add(node);

 

DataSet imagesDS = dbGALLERIES.getImages(Convert.ToInt32(dr["gallery_id_pk"].ToString()));

 

 

foreach (DataRow imageDR in imagesDS.Tables[0].Rows)

 

{

Telerik.Web.UI.

RadTreeNode imageNode = new Telerik.Web.UI.RadTreeNode(imageDR["image_name"].ToString(),

 

imageDR[

"image_id_pk"].ToString());

 

imageNode.ContextMenuID = imgmenu.ID;

 

if (imageDR["image_isPublished"].ToString().Equals("Y"))

 

{

imageNode.ForeColor = System.Drawing.

Color.Black;

 

}

 

else

 

{

imageNode.ForeColor = System.Drawing.

Color.Red;

 

}

imageNode.ToolTip =

"Right-click for more options";

 

rtv.Nodes.Add(imageNode);

}

rtv.ExpandAllNodes();

ap.ContentContainer.Controls.Add(rtv);

Accordion1.Panes.Add(ap);

}

}

 

protected void menuItem_click(object sender, Telerik.Web.UI.RadTreeViewContextMenuEventArgs e)

 

{

Telerik.Web.UI.

RadTreeNode clickedNode = e.Node;

 

 

switch(e.MenuItem.Text)

 

{

 

case "Add Image":

 

 

int newImageID = dbGALLERIES.insertImage(Convert.ToInt32(clickedNode.TreeView.Nodes[0].Value.Substring(1)));

 

clickedNode.TreeView.Nodes.Add(

new Telerik.Web.UI.RadTreeNode("New Image", newImageID.ToString()));

 

 

break;

 

 

case "Publish / Unpublish":

 

 

if (clickedNode.ForeColor.Equals(System.Drawing.Color.Red))

 

{

 

dbGALLERIES.publishImage(Convert.ToInt32(clickedNode.Value));

 

 

if (clickedNode.Equals(clickedNode.TreeView.SelectedNode))

 

{

chkImageShowOnWebsite.Checked =

true;

 

}

clickedNode.ForeColor = System.Drawing.

Color.Black;

 

}

 

else

 

{

 

dbGALLERIES.unpublishImage(Convert.ToInt32(clickedNode.Value));

 

 

if (clickedNode.Equals(clickedNode.TreeView.SelectedNode))

 

{

chkImageShowOnWebsite.Checked =

false;

 

}

clickedNode.ForeColor = System.Drawing.

Color.Red;

 

}

 

break;

 

 

case "Move Up":

 

 

RadTreeView rtv = clickedNode.TreeView;

 

 

int index = rtv.Nodes.IndexOf(clickedNode);

 

 

 

if (index > 1)

 

{

 

RadTreeNode aboveNode = rtv.Nodes[index - 1];

 

 

 

String clickedValue = clickedNode.Value;

 

 

String aboveText = aboveNode.Text;

 

 

String aboveValue = aboveNode.Value;

 

System.Drawing.

Color aboveColor = aboveNode.ForeColor;

 

aboveNode.Text = clickedNode.Text;

aboveNode.Value = clickedNode.Value;

clickedNode.Text = aboveText;

clickedNode.Value = aboveValue;

aboveNode.ForeColor = clickedNode.ForeColor;

clickedNode.ForeColor = aboveColor;

 

 

dbGALLERIES.swapImageOrder(Convert.ToInt32(clickedValue), Convert.ToInt32(aboveValue));

 

 

if (clickedNode.Selected)

 

{

aboveNode.Selected =

true;

 

}

 

else if (aboveNode.Selected)

 

{

clickedNode.Selected =

true;

 

}

}

 

 

break;

 

 

case "Move Down":

 

 

RadTreeView rtv2 = clickedNode.TreeView;

 

 

int index2 = rtv2.Nodes.IndexOf(clickedNode);

 

 

if (index2 < (rtv2.Nodes.Count - 1))

 

{

 

RadTreeNode belowNode = rtv2.Nodes[index2 + 1];

 

 

String clickedValue = clickedNode.Value;

 

 

String belowText = belowNode.Text;

 

 

String belowValue = belowNode.Value;

 

System.Drawing.

Color belowColor = belowNode.ForeColor;

 

belowNode.Text = clickedNode.Text;

belowNode.Value = clickedNode.Value;

clickedNode.Text = belowText;

clickedNode.Value = belowValue;

belowNode.ForeColor = clickedNode.ForeColor;

clickedNode.ForeColor = belowColor;

 

dbGALLERIES.swapImageOrder(Convert.ToInt32(clickedValue), Convert.ToInt32(belowValue));

 

 

if (clickedNode.Selected)

 

{

belowNode.Selected =

true;

 

}

 

else if (belowNode.Selected)

 

{

clickedNode.Selected =

true;

 

}

}

 

break;

 

}

}

 

private void deselectAllExcept(AccordionPane ap)

 

{

 

foreach (AccordionPane acp in Accordion1.Panes)

 

{

 

if (acp.Equals(ap).Equals(false))

 

{

 

RadTreeView rtv = (RadTreeView)acp.Controls[1].Controls[0];

 

rtv.ClearSelectedNodes();

}

}

}

 

protected void rtv_NodeClick(object sender, Telerik.Web.UI.RadTreeNodeEventArgs e)

 

{

Telerik.Web.UI.

RadTreeNode clickedNode = e.Node;

 

 

AccordionPane ap = findAccordionPaneContainingNode(clickedNode.Value);

 

deselectAllExcept(ap);

 

if (clickedNode.Text.Equals("Gallery Settings"))

 

{

loadGallerySettings(

Convert.ToInt32(clickedNode.Value.Substring(1)));

 

 

svars.selected_value = Convert.ToInt32(clickedNode.Value.Substring(1));

 

}

 

else

 

{

loadImageDetails(

Convert.ToInt32(clickedNode.Value));

 

 

svars.selected_value = Convert.ToInt32(clickedNode.Value);

 

}

}

 

 

private void loadImageDetails(int imageID)

 

{

pnlGallery.Visible =

false;

 

pnlImage.Visible =

true;

 

 

DataSet ds = dbGALLERIES.getImageDetails(imageID);

 

txtImageName.Text = ds.Tables[0].Rows[0][

"image_name"].ToString();

 

chkImageShowOnWebsite.Checked =

func.charToBoolean(ds.Tables[0].Rows[0]["image_isPublished"].ToString());

 

txtImageDescription.Text = ds.Tables[0].Rows[0][

"image_description"].ToString();

 

lblImageError.Text =

"";

 

 

String filename = "" + ds.Tables[0].Rows[0]["image_filename"].ToString();

 

 

if (filename.Trim().Length > 0)

 

{

imgImage.ImageUrl =

"~/uploads/" + svars.user_id + "/galleries/" + filename;

 

}

 

else

 

{

imgImage.ImageUrl =

"~/images/noimage.gif";

 

}

}

 

private void loadGallerySettings(int galleryID)

 

{

pnlImage.Visible =

false;

 

pnlGallery.Visible =

true;

 

 

DataSet ds = dbGALLERIES.getGalleryDetails(galleryID);

 

txtGalleryName.Text = ds.Tables[0].Rows[0][

"gallery_name"].ToString();

 

chkGalleryShowOnWebsite.Checked =

func.charToBoolean(ds.Tables[0].Rows[0]["gallery_isPublished"].ToString());

 

txtGalleryDescription.Text = ds.Tables[0].Rows[0][

"gallery_description"].ToString();

 

lblGalleryError.Text =

"";

 

}

 

protected void btnSaveGallery_Click(object sender, EventArgs e)

 

{

lblGalleryError.Text =

"";

 

 

if (txtGalleryName.Text.Trim().Length < 1)

 

{

lblGalleryError.Text =

"Gallery name is required";

 

}

 

else

 

{

 

dbGALLERIES.updateGallery(svars.selected_value, txtGalleryName.Text.Trim(), txtGalleryDescription.Text.Trim(), chkGalleryShowOnWebsite.Checked);

 

lblGalleryError.Text =

"Gallery settings saved";

 

 

AccordionPane ap = findAccordionPaneContainingNode("g" + svars.selected_value.ToString());

 

 

Literal lit = (Literal)ap.HeaderContainer.Controls[0];

 

lit.Text = txtGalleryName.Text.Trim();

}

}

 

private Telerik.Web.UI.RadTreeNode findNode(String nodeValue)

 

{

 

RadTreeNode returnable = new RadTreeNode();

 

 

foreach (AccordionPane ap in Accordion1.Panes)

 

{

 

RadTreeView rtv = (RadTreeView)ap.Controls[1].Controls[0];

 

 

try

 

{

 

RadTreeNode rtn2 = rtv.FindNodeByValue(nodeValue);

 

 

if (rtn2 != null)

 

{

returnable = rtn2;

}

}

 

catch

 

{

}

}

 

return returnable;

 

}

 

private AccordionPane findAccordionPaneContainingNode(String nodeValue)

 

{

 

AccordionPane returnable = new AccordionPane();

 

 

foreach (AccordionPane ap in Accordion1.Panes)

 

{

 

RadTreeView rtv = (RadTreeView)ap.Controls[1].Controls[0];

 

 

try

 

{

 

RadTreeNode rtn2 = rtv.FindNodeByValue(nodeValue);

 

 

if (rtn2 != null)

 

{

returnable = ap;

}

}

 

catch

 

{

}

}

 

return returnable;

 

}

 

protected void btnSaveImage_Click(object sender, EventArgs e)

 

{

lblImageError.Text =

"";

 

 

if (txtImageName.Text.Trim().Length < 1)

 

{

lblImageError.Text =

"Image name is required";

 

}

 

else if(radUpload1.InvalidFiles.Count > 0)

 

{

lblImageError.Text =

"File is too large.<br/>(max 300kb)";

 

}

 

else

 

{

 

if (radUpload1.UploadedFiles.Count > 0)

 

{

 

String filename = radUpload1.UploadedFiles[0].FileName;

 

 

String userFolder = Server.MapPath("uploads\\" + svars.user_id);

 

 

String galleryFolder = userFolder + "\\galleries";

 

 

if (System.IO.Directory.Exists(userFolder).Equals(false))

 

{

System.IO.

Directory.CreateDirectory(userFolder);

 

}

 

if (System.IO.Directory.Exists(galleryFolder).Equals(false))

 

{

System.IO.

Directory.CreateDirectory(galleryFolder);

 

}

 

String newFilename = DateTime.Now.ToString("yyyyMMddHHmmss") + radUpload1.UploadedFiles[0].GetExtension();

 

 

String newFileLocation = galleryFolder + "\\" + newFilename;

 

radUpload1.UploadedFiles[0].SaveAs(newFileLocation);

 

dbGALLERIES.updateImage(svars.selected_value, txtImageName.Text.Trim(),

 

txtImageDescription.Text.Trim(), chkImageShowOnWebsite.Checked, newFilename);

imgImage.ImageUrl =

"~/uploads/" + svars.user_id + "/galleries/" + newFilename;

 

System.Drawing.

Image photoImg = System.Drawing.Image.FromFile(newFileLocation);

 

System.Drawing.

Image thumbPhoto = photoImg.GetThumbnailImage(100, 100, null, new System.IntPtr());

 

thumbPhoto.Save(newFileLocation +

"_th.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);

 

}

 

else

 

{

 

dbGALLERIES.updateImage(svars.selected_value, txtImageName.Text.Trim(),

 

txtImageDescription.Text.Trim(), chkImageShowOnWebsite.Checked);

}

 

lblImageError.Text =

"Image settings saved";

 

loadGalleries();

}

}

 

protected void btnDeleteGallery_Click(object sender, EventArgs e)

 

{

 

int galleryID = svars.selected_value;

 

 

dbGALLERIES.deleteGallery(galleryID);

 

pnlGallery.Visible =

false;

 

loadGalleries();

}

 

</

 

script>

 

<

 

asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">

 

</

 

asp:Content>

 

<

 

asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">

 

 

<asp:UpdatePanel runat="server">

 

 

<ContentTemplate>

 

 

 

<table border=0 cellpadding=0 cellspacing=0 width="100%">

 

 

<tr>

 

 

<td style="vertical-align:top; width:200px;">

 

 

<ajax:Accordion ID="Accordion1" Width="200px" runat="server" SelectedIndex="0" HeaderCssClass="accordionHeader"

 

 

HeaderSelectedCssClass="accordionHeaderSelected" ContentCssClass="accordionContent" AutoSize="None"

 

 

FadeTransitions="true" TransitionDuration="250" FramesPerSecond="40"

 

 

RequireOpenedPane="true" SuppressHeaderPostbacks="true" >

 

 

</ajax:Accordion>

 

 

 

<div style="text-align:center; padding-top:15px;">

 

 

<asp:Button runat="server" Text="Add Gallery" ID="btnAddGallery" Height="30px" OnClick="btnAddGallery_Click" />

 

 

</div>

 

 

</td>

 

 

<td style="vertical-align:top; width:800px;">

 

 

<asp:Panel runat="server" ID="pnlGallery" Visible="false">

 

 

<table border=0 cellpadding="10px" cellspacing=0>

 

 

<tr>

 

 

<td>Gallery Name:</td>

 

 

<td><asp:TextBox runat="server" CssClass="fbTextBox" ID="txtGalleryName"></asp:TextBox></td>

 

 

</tr>

 

 

<tr>

 

 

<td>Show on Website?</td>

 

 

<td><asp:CheckBox runat="server" ID="chkGalleryShowOnWebsite" /></td>

 

 

</tr>

 

 

<tr>

 

 

<td>Description:</td>

 

 

<td><asp:TextBox runat="server" ID="txtGalleryDescription" CssClass="fbTextBox" TextMode="MultiLine" Width="400px" Height="60px"></asp:TextBox></td>

 

 

</tr>

 

 

<tr>

 

 

<td>&nbsp;</td>

 

 

<td style="text-align:left;">

 

 

<asp:Button runat="server" ID="btnSaveGallery" OnClick="btnSaveGallery_Click" Text="Save Changes"

 

 

Width="120px" Height="30px" />

 

 

&nbsp;

 

 

<asp:Button runat="server" ID="btnDeleteGallery" Text="Delete Gallery" Width="120px" Height="30px"

 

 

OnClick="btnDeleteGallery_Click"

 

 

OnClientClick="return confirm('Are you sure you want to delete this gallery?');" />

 

 

<div style="font-size:12px;">&nbsp;</div><asp:Label runat="server" ID="lblGalleryError" ForeColor="Red"

 

 

Font-Bold="true" Font-Size="12px"></asp:Label>

 

 

</td>

 

 

</tr>

 

 

</table>

 

 

</asp:Panel>

 

 

<asp:Panel runat="server" ID="pnlImage" Visible="false">

 

 

<table border=0 cellpadding="10px" cellspacing=0>

 

 

<tr>

 

 

<td>Image Name:</td>

 

 

<td><asp:TextBox runat="server" CssClass="fbTextBox" ID="txtImageName"></asp:TextBox></td>

 

 

</tr>

 

 

<tr>

 

 

<td>Show on Website?</td>

 

 

<td><asp:CheckBox runat="server" ID="chkImageShowOnWebsite" /></td>

 

 

</tr>

 

 

<tr>

 

 

<td>Description:</td>

 

 

<td><asp:TextBox runat="server" ID="txtImageDescription" CssClass="fbTextBox" TextMode="MultiLine" Width="400px" Height="60px"></asp:TextBox></td>

 

 

</tr>

 

 

<tr>

 

 

<td>Upload Image:</td>

 

 

<td>

 

 

<telerik:RadUpload ControlObjectsVisibility="None" InitialFileInputsCount="1" MaxFileSize="300000"

 

 

id="radUpload1" runat="server" ></telerik:RadUpload>

 

 

</td>

 

 

</tr>

 

 

<tr>

 

 

<td>&nbsp;</td>

 

 

<td style="text-align:left;">

 

 

<table border=0 cellpadding=0 cellspacing=0 width="100%">

 

 

<tr>

 

 

<td style="text-align:left; vertical-align:top; width:160px;">

 

 

<asp:Button runat="server" ID="btnSaveImage" OnClick="btnSaveImage_Click" Text="Save Changes"

 

 

Height="30px" /><div style="font-size:12px;">&nbsp;</div><asp:Label runat="server"

 

 

ID="lblImageError" ForeColor="Red" Font-Bold="true" Font-Size="12px"></asp:Label>

 

 

</td>

 

 

<td style="padding-left:20px; text-align:left; vertical-align:top;">

 

 

<asp:Image runat="server" ID="imgImage" Width="230px" BorderColor="#666666"

 

 

BorderStyle="Solid" BorderWidth="1px" ImageUrl="~/images/noimage.gif" />

 

 

</td>

 

 

</tr>

 

 

</table>

 

 

</td>

 

 

</tr>

 

 

</table>

 

 

</asp:Panel>

 

 

</td>

 

 

</tr>

 

 

</table>

 

 

 

</ContentTemplate>

 

 

 

<Triggers>

 

 

<asp:PostBackTrigger ControlID="btnSaveImage" />

 

 

</Triggers>

 

 

</asp:UpdatePanel>

 

</

 

asp:Content>

 


Helen
Telerik team
 answered on 22 Jul 2010
1 answer
177 views
What is the expected behavior of the RadGrid.MasterTableView.Columns.Insert and RadGrid.MasterTableView.Columns.AddAt methods?

It seems to be replacing the column at the index position I specify, instead of inserting the column and shifting everything else in the collection across.

GridColumn employeeRateCol = RadGridSummary.MasterTableView.Columns.FindByUniqueName("EmployeeRate");
GridDropDownColumn rateType = new GridDropDownColumn();
int index = RadGridSummary.MasterTableView.Columns.IndexOf(employeeRateCol);
RadGridSummary.MasterTableView.Columns.Insert(index, rateType);


If i use the Add method, everything works as expected, but I don't want this dynmaically created column to appear as the last column

I am using the .NET 4 version of the Q1 2010 release
Mira
Telerik team
 answered on 22 Jul 2010
1 answer
122 views
I am simply trying to read the selected value of an item that is selected in RadComboBox but I am unable to do so.  The SelectedValue value is always empty.  This is a pretty simple usage case so I don't understand why this should be difficult.  Does anyone know what is going on?

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    Dim cmd As New SqlCommand
    Dim con As New SqlConnection
    Dim da As New SqlDataAdapter
    Dim ds As New DataSet
 If (Not Page.IsPostBack) Then
    cmd.Connection = con
    con.ConnectionString = ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString
 
    con.Open()
    cmd.CommandText = "select top 100 CustomerID, isnull(Title, '') as Title, FirstName, LastName, FirstName + LastName as FullName from saleslt.customer"
 
    da.SelectCommand = cmd
    da.Fill(ds)
 
    RadComboBox1.DataValueField = "CustomerID"
    RadComboBox1.DataTextField = "FullName"
 
    RadComboBox1.DataSource = ds
    RadComboBox1.DataBind()
end if
End Sub
 
Protected Sub RadComboBox1_SelectedIndexChanged(ByVal o As Object, ByVal e As Telerik.Web.UI.RadComboBoxSelectedIndexChangedEventArgs) Handles RadComboBox1.SelectedIndexChanged
    Dim s As String
 
    s = e.Value
    s = RadComboBox1.SelectedValue
 
End Sub

<telerik:RadComboBox ID="RadComboBox1" runat="server" Width="420"
    AllowCustomText="True" MaxHeight="300px" Filter="Contains" AutoPostBack="True">
    <HeaderTemplate>
        <ul>
            <li class="col1">Title</li>
            <li class="col2">First Name</li>
            <li class="col3">Last Name</li>
        </ul>
    </HeaderTemplate>
    <ItemTemplate>
        <ul>
            <li class="col1"><%#DataBinder.Eval(Container.DataItem, "Title").ToString()%></li>
            <li class="col2"><%#DataBinder.Eval(Container.DataItem, "FirstName").ToString()%></li>
            <li class="col3"><%#DataBinder.Eval(Container.DataItem, "LastName").ToString()%></li>
        </ul>
    </ItemTemplate>
</telerik:RadComboBox>
Kalina
Telerik team
 answered on 22 Jul 2010
1 answer
107 views
My website users are report that they lose data when they forget to Save and such, and so I want to auto-save the data every minute using Ajax.

I have an excel-like grid that I want to auto-save using Ajax.  Would you recommend the AjaxPanel or AjaxManager?  And how can I hook up the timer to call Ajax?  
Thanks!
Mira
Telerik team
 answered on 22 Jul 2010
3 answers
234 views
Hi all,

I have two tables in an SQL database. One contains Customer details and the other contains Contact names. There is a one to many relationship between Customers and Contacts. I have a Radgrid for the Customers table and I'm using a pop-up EditForm for insert/update. On the EditForm there is a RadCombo to select a contact. I only want to populate this combo with the Contact Names for the selected Customer.

Below is my code. Currently it' not populating the Combo Box at all. What am I doing wrong?

Many thanks in advance,

Neil

<%@ Page Title="" Language="VB" MasterPageFile="~/Pages/SiteMaster.master" AutoEventWireup="false" CodeFile="TestCustomers.aspx.vb" Inherits="Pages_Bookings_Customers" %>
  
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
  
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
    
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="phTopContent" Runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="phMainContent" Runat="Server">
  
      
    <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" 
        DefaultLoadingPanelID="RadAjaxLoadingPanel1">
        <AjaxSettings>
            <telerik:AjaxSetting AjaxControlID="RadGrid1">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="RadGrid1" LoadingPanelID="RadAjaxLoadingPanel1" />
                </UpdatedControls>
            </telerik:AjaxSetting>
        </AjaxSettings>
    </telerik:RadAjaxManager>
    <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" 
        MinDisplayTime="100" Skin="Sunset"> 
    </telerik:RadAjaxLoadingPanel>    
      
    <div style="float: none; clear: both">
  
        <telerik:RadGrid ID="RadGrid1"
            runat="server"
            DataSourceID="dsCustomers"
            AllowAutomaticInserts="True" 
            AllowAutomaticUpdates="True" 
            AllowFilteringByColumn="True" 
            AllowPaging="True" 
            AllowSorting="True" 
            GridLines="None"
            Width="500px"
            Height="700px" 
            PageSize="20" 
            ShowStatusBar="True" 
            Skin="Sunset"
            EnableAJAXLoadingTemplate="True"
            EnableAJAX="True">
  
            <MasterTableView 
                DataKeyNames="CustomerID" 
                DataSourceID="dsCustomers"
                AutoGenerateColumns="False" 
                CommandItemDisplay="Top" 
                EditMode="PopUp">
                      
            <RowIndicatorColumn>
            <HeaderStyle Width="20px"></HeaderStyle>
            </RowIndicatorColumn>
  
            <ExpandCollapseColumn>
            <HeaderStyle Width="20px"></HeaderStyle>
            </ExpandCollapseColumn>
              
                <Columns>
                    <telerik:GridEditCommandColumn ButtonType="ImageButton" 
                        UniqueName="EditCommandColumn" 
                        HeaderStyle-Width="40px">
                    </telerik:GridEditCommandColumn>
                      
                    <telerik:GridBoundColumn DataField="CustomerID" 
                        DataType="System.Int32" 
                        HeaderText="CustomerID" 
                        ReadOnly="True" 
                        SortExpression="CustomerID" 
                        UniqueName="CustomerID" 
                        Visible="true">
                    </telerik:GridBoundColumn>
                      
                    <telerik:GridBoundColumn DataField="CustName" 
                        HeaderText="Customer Name" 
                        SortExpression="CustName" 
                        UniqueName="CustName" 
                        Visible="True">
                    </telerik:GridBoundColumn>
                     
                </Columns>
  
            <EditFormSettings 
                EditFormType="Template"              
                CaptionFormatString='Edit Customer: {0}' 
                CaptionDataField="CustName" 
                InsertCaption="Add New Customer" 
                PopUpSettings-Width="400px">
                <EditColumn UniqueName="EditCommandColumn1"></EditColumn>
                <FormTemplate>
                    <table id="outer_table">
                        <tr>
                              
                            <td  NOWRAP>
                                <asp:Label ID="Label1" runat="server" Text="Customer Name:" AssociatedControlID="tbCustName" />
                            </td>
                            <td>    
                                <telerik:RadTextBox ID="tbCustName" 
                                    runat="server" 
                                    width="250px"
                                    Text='<%# Bind( "CustName" ) %>'>
                                </telerik:RadTextBox>
                            </td>    
                       </tr>
   
                               <tr>
                                    <td nowrap style="vertical-align: top">    
                                        <asp:Label ID="Label17" runat="server" Text="Default Booking Contact:" AssociatedControlID="cbBookingContact" />
                                    </td>
                                    <td> 
                                        <telerik:RadComboBox ID="cbBookingContact"                                             
                                            Runat="server" 
                                            Skin="Sunset"                                            
                                            DataSourceID="dsBookingContact" 
                                            DataTextField="ContactName" 
                                            DataValueField="ContactID"
                                            SelectedValue='<%# Bind("DefaultBookingContactID") %>' 
                                            Width="255" 
                                            MarkFirstMatch="True" 
                                            Filter="Contains" 
                                            AppendDataBoundItems="True" 
                                            Text="Select a contact">
                                            <Items>
                                                <telerik:RadComboBoxItem  Value="" Text=""/>
                                            </Items>
                                              
                                        </telerik:RadComboBox>
                                    </td>
                               </tr>
                               <tr>
                                    <td align="left" colspan="2">
                                        <asp:Button ID="btnUpdate" 
                                            Text='<%# IIf((TypeOf(Container) is GridEditFormInsertItem), "Insert", "Update") %>'
                                            runat="server" 
                                            CommandName='<%# IIf((TypeOf(Container) is GridEditFormInsertItem), "PerformInsert", "Update")%>' />
                                           
                                        <asp:Button ID="btnCancel" Text="Cancel" runat="server" CausesValidation="False"
                                                CommandName="Cancel"></asp:Button></td>
                               </tr>
                            </table> 
  
   
          
                     
                </FormTemplate>
  
            </EditFormSettings>
            </MasterTableView>
              
            <GroupingSettings CaseSensitive="False" />
              
            <ClientSettings>
                <Scrolling AllowScroll="True" UseStaticHeaders="True" />
            </ClientSettings>
        </telerik:RadGrid>
          
        <asp:SqlDataSource ID="dsCustomers" runat="server" 
            ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 
            SelectCommand="SELECT Customers.CustomerID, Customers.CustName, Customers.DefaultBookingContactID FROM Customers LEFT OUTER JOIN AccountStatus ON Customers.AccountStatusID = AccountStatus.AccountStatusID ORDER BY Customers.CustCode" 
            InsertCommand="INSERT INTO [Customers] ([CustName], [DefaultBookingContactID]) VALUES (@CustName, @CustCode,  @DefaultBookingContactID)" 
            UpdateCommand="UPDATE [Customers] SET [CustName] = @CustName, [DefaultBookingContactID] = @DefaultBookingContactID WHERE [CustomerID] = @CustomerID">
  
            <UpdateParameters>
                <asp:Parameter Name="CustName" Type="String" />
                <asp:Parameter Name="DefaultBookingContactID" Type="Int32" />
                <asp:Parameter Name="CustomerID" Type="Int32" />
            </UpdateParameters>
            <InsertParameters>
                <asp:Parameter Name="CustName" Type="String" />
                <asp:Parameter Name="DefaultBookingContactID" Type="Int32" />
            </InsertParameters>
        </asp:SqlDataSource>
          
  
         <asp:SqlDataSource ID="dsBookingContact" runat="server" 
            ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 
            SelectCommand="SELECT ContactID, ContactName, CustomerID FROM Contacts WHERE (CustomerID = @CustomerID) ORDER BY ContactName">
             <SelectParameters>
                 <asp:ControlParameter ControlID="RadGrid1" Name="CustomerID" 
                     PropertyName="SelectedValue" />
             </SelectParameters>
        </asp:SqlDataSource>    
  
    </div>
</asp:Content>
Pavlina
Telerik team
 answered on 22 Jul 2010
3 answers
197 views
Hi,

I have a RadGrid with 2 column (customer_number, and customer_name). When I click on the Add New Record, I would like to build 2 combox (google like), 1 for customer_number and 1 for customer_name, both has 2 columns customer_number and customer_name and  when we select a value from either box, I would like to update the other box with its corresponding value.  These comboxes are pulling data from MS Access while this RadGrid is from SQL.

Thanks



Daniel
Telerik team
 answered on 22 Jul 2010
Narrow your results
Selected tags
Tags
+? more
Top users last month
Jake
Top achievements
Rank 1
RBarnes
Top achievements
Rank 1
Iron
Iron
Rami
Top achievements
Rank 1
Iron
Veteran
Nathan
Top achievements
Rank 1
Kumeri
Top achievements
Rank 1
Iron
Veteran
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Jake
Top achievements
Rank 1
RBarnes
Top achievements
Rank 1
Iron
Iron
Rami
Top achievements
Rank 1
Iron
Veteran
Nathan
Top achievements
Rank 1
Kumeri
Top achievements
Rank 1
Iron
Veteran
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?