<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"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);
<%
@ 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> </td>
<td style="text-align:left;">
<asp:Button runat="server" ID="btnSaveGallery" OnClick="btnSaveGallery_Click" Text="Save Changes"
Width="120px" Height="30px" />
<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;"> </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> </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;"> </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>
GridColumn employeeRateCol = RadGridSummary.MasterTableView.Columns.FindByUniqueName("EmployeeRate");GridDropDownColumn rateType = new GridDropDownColumn();int index = RadGridSummary.MasterTableView.Columns.IndexOf(employeeRateCol);RadGridSummary.MasterTableView.Columns.Insert(index, rateType);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 DataSetIf (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 SubProtected
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.SelectedValueEnd 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><%@ 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>