
I've a SharePoint List named Promotions and following are sample data in it.
PromotionID Promotions Active
1 Promotion 1 Yes
2 Promotion 2 Yes
3 Promotion 3 No
4 Promotion 4 No
I also one another SharePoint list called StorePromotions
StorePromoID Promotions(Promotions List Look Up Column) Region(Regions List Look Up Column) ...
1 Promotion 4 Region 3
2 Promotion 3 Region 5
When I try to update the StorePromotion List, I choose Promotions from GridDropDownColumn(which I bind earlier with Promotions List) by getting the value from SelectedValue property(ie., storePromo.TradeName = tradeEditor.SelectedValue;). But when I update the list I get error, because I need the "PromotionID" and NOT the SelectedValue. Can anyone tell me how I can get that?
For more information, here is my code
StorePromotions.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="StorePromotionsByTrade.aspx.cs"
Inherits="Heritage.Internet.UI.Pages.ContentManager.StorePromotionsByTrade,Heritage.Internet.UI.Pages.ContentManager,Culture=neutral, Version=1.0.0.0, PublicKeyToken=1202d49d749de830"
MasterPageFile="~/_layouts/HP/application.master" EnableSessionState="True"%>
<%@ Register Assembly="Telerik.Web.UI, Version=2010.1.309.20, Culture=neutral, PublicKeyToken=121fae78165ba3d4"
Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<%@ Register Assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
Namespace="System.Web.UI" TagPrefix="asp" %>
<%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Import Namespace="Microsoft.SharePoint" %>
<%@ Register TagPrefix="wssuc" TagName="ButtonSection" src="~/_controltemplates/ButtonSection.ascx" %>
<%@ Register TagPrefix="wssuc" TagName="InputFormControl" src="~/_controltemplates/InputFormControl.ascx" %>
<%@ Register TagPrefix="wssuc" TagName="InputFormSection" src="~/_controltemplates/InputFormSection.ascx" %>
<%@ Register Tagprefix="wssawc" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<asp:Content ID="Content1" contentplaceholderid="PlaceHolderAdditionalPageHead" runat="server"></asp:Content>
<asp:Content ID="Content2" contentplaceholderid="PlaceHolderPageTitle" runat="server"></asp:Content>
<asp:Content ID="Content3" contentplaceholderid="PlaceHolderPageTitleInTitleArea" runat="server">Store Promotions assigned by TradeName</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderId="PlaceHolderPageDescription" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" />
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderId="PlaceHolderMain" runat="server">
<telerik:RadGrid ID="radGridStorePromotions" runat="server" GridLines="None" AutoGenerateColumns="false"
AllowPaging="true" AllowSorting="true" OnNeedDataSource="radGridStorePromotions_OnNeedDataSource"
OnItemDataBound="radGridStorePromotions_OnItemDataBound" OnItemCreated="radGridStorePromotions_ItemCreated"
OnUpdateCommand="radGridStorePromotions_OnUpdateCommand" >
<PagerStyle Mode="NextPrevAndNumeric" />
<MasterTableView TableLayout="Fixed" Height="100%" AllowFilteringByColumn="True">
<Columns>
<telerik:GridNumericColumn HeaderText="ID" DataField="ID" ReadOnly="true" Visible="false" UniqueName="PromoIdUniqueName" />
<telerik:GridDropDownColumn HeaderText="Promotion" UniqueName="PromotionsUniqueName"
DataField="Promotion" ListTextField="Promotion" ListValueField="Promotion" ListDataMember="Title" />
<telerik:GridDropDownColumn HeaderText="TradeName" UniqueName="TradeNameUniqueName"
DataField="TradeName" ListTextField="TradeName" ListValueField="TradeName" ListDataMember="Title"
DropDownControlType="RadComboBox" />
<telerik:GridDropDownColumn HeaderText="StoreLocation" UniqueName="StoreLocUniqueName"
DataField="StoreLocation" ListTextField="StoreLocation" ListValueField="StoreLocation"
ListDataMember="Title" />
<telerik:GridDateTimeColumn HeaderText="Start Date" UniqueName="StartDateUniqueName" DataField="StartDate" />
<telerik:GridDateTimeColumn HeaderText="End Date" UniqueName="EndDateUniqueName" DataField="EndDate" />
<telerik:GridCheckBoxColumn HeaderText="Active" UniqueName="ActiveUniqueName" DataField="Active" />
<telerik:GridEditCommandColumn HeaderText="Edit" UniqueName="EditCommandColumn" ButtonType="LinkButton"
EditText="Edit" UpdateText="Update" CancelText="Cancel" />
<telerik:GridButtonColumn HeaderText="Delete" UniqueName="DeleteColumn" Text="Delete" CommandName="Delete" />
</Columns>
</MasterTableView>
</telerik:RadGrid>
</asp:Content>
And this is my StorePromotions.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Heritage.Internet.BLL.Promotions;
using Heritage.Internet.BOL.Promotions;
using Heritage.Internet.BLL.Regions;
using Heritage.Internet.BOL.Regions;
using Heritage.Internet.BLL.StoreLocations;
using Heritage.Internet.BOL.StoreLocations;
using Heritage.Internet.BLL.StorePromotions;
using Heritage.Internet.BOL.StorePromotions;
using Heritage.Internet.BLL.TradeNames;
using Heritage.Internet.BOL.TradeNames;
using Telerik.Web.UI;
namespace Heritage.Internet.UI.Pages.ContentManager
{
public partial class StorePromotionsByTrade : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
StorePromotionsBindData();
}
}
protected void radGridStorePromotions_OnNeedDataSource(object source, GridNeedDataSourceEventArgs e)
{
if (Session["AllStorePromotions"] != null)
{
radGridStorePromotions.DataSource = Session["AllStorePromotions"];
}
else
{
StorePromotionsBindData();
}
}
protected void radGridStorePromotions_OnItemDataBound(object sender, GridItemEventArgs e)
{
if (e.Item is GridEditableItem && e.Item.IsInEditMode)
{
GridEditableItem gridEditFormItem = (GridEditableItem)e.Item;
GridEditManager gridEditMan = gridEditFormItem.EditManager;
RadComboBox ddlTradeName = gridEditFormItem["TradeNameUniqueName"].Controls[0] as RadComboBox;
GridDropDownColumnEditor promotionsEditor = gridEditMan.GetColumnEditor("PromotionsUniqueName") as GridDropDownColumnEditor;
GridDropDownColumnEditor tradeEditor = gridEditMan.GetColumnEditor("TradeNameUniqueName") as GridDropDownColumnEditor;
GridDropDownColumnEditor storeEditor = gridEditMan.GetColumnEditor("StoreLocUniqueName") as GridDropDownColumnEditor;
//Get all ACTIVE Promotions in ASCENDING order and bind it to Promotions DropDownList
/****************************************************************/
//Storing the promotions in Session variable doesn't work.
//It binds StorePromotions varibales to Promotions DropDownList.
/****************************************************************/
Promotion promotionBLL = new Promotion();
List<PromotionEntity> promotions = new List<PromotionEntity>();
promotions = promotionBLL.GetAllPromotions();
object tempPromotions = promotionsEditor.DataSource;
promotionsEditor.DataSource = promotions;
promotionsEditor.DataBind();
promotionsEditor.DataSource = tempPromotions;
//Get ACTIVE Trade Names in ASCENDING order and bind it to TradeName DropDownList
TradeName tradeNameBLL = new TradeName();
List<TradeNameEntity> tradeNames = new List<TradeNameEntity>();
tradeNames = tradeNameBLL.GetAllTradeNames();
object tempTradeNames = tradeEditor.DataSource;
tradeEditor.DataSource = tradeNames;
tradeEditor.DataBind();
tradeEditor.SelectedValue = ddlTradeName.SelectedValue;
tradeEditor.DataSource = tempTradeNames;
//Get ACTIVE Stores filtered by Selected TardeName and bind it to StoreLocations DropDownList
StoreLocation storeLocBLL = new StoreLocation();
List<StoreLocationListEntity> storeLocationsList = new List<StoreLocationListEntity>();
storeLocationsList = storeLocBLL.GetStoresByTradeName(ddlTradeName.SelectedValue);
object tempDataSource = storeEditor.DataSource;
storeEditor.DataSource = storeLocationsList;
storeEditor.DataBind();
storeEditor.DataSource = tempDataSource;
}
}
protected void radGridStorePromotions_ItemCreated(object sender, Telerik.Web.UI.GridItemEventArgs e)
{
if (e.Item is GridEditableItem && e.Item.IsInEditMode)
{
//the dropdown list will be the first control in the Controls collection of the corresponding cell
RadComboBox ddlTradeName = (e.Item as GridEditableItem)["TradeNameUniqueName"].Controls[0] as RadComboBox;
//attach SelectedIndexChanged event for the combobox control
ddlTradeName.AutoPostBack = true;
ddlTradeName.SelectedIndexChanged += new RadComboBoxSelectedIndexChangedEventHandler(ddlTradeName_OnSelectedIndexChanged);
}
}
protected void ddlTradeName_OnSelectedIndexChanged(object sender, RadComboBoxSelectedIndexChangedEventArgs e)
{
GridEditableItem editedItem = (sender as RadComboBox).NamingContainer as GridEditableItem;
RadComboBox ddlStoreLoc = editedItem["StoreLocUniqueName"].Controls[0] as RadComboBox;
StoreLocation storeLocBLL = new StoreLocation();
List<StoreLocationListEntity> storeLocationsList = new List<StoreLocationListEntity>();
storeLocationsList = storeLocBLL.GetStoresByTradeName((editedItem["TradeNameUniqueName"].Controls[0] as RadComboBox).SelectedValue);
ddlStoreLoc.ClearSelection();
ddlStoreLoc.DataSource = storeLocationsList;
ddlStoreLoc.DataBind();
}
protected void radGridStorePromotions_OnUpdateCommand(object source, GridCommandEventArgs e)
{
GridEditableItem gridEditFormItem = (GridEditableItem)e.Item;
GridEditManager gridEditMan = gridEditFormItem.EditManager;
GridNumericColumnEditor idEditor = gridEditMan.GetColumnEditor("PromoIdUniqueName") as GridNumericColumnEditor;
GridDropDownColumnEditor promotionsEditor = gridEditMan.GetColumnEditor("PromotionsUniqueName") as GridDropDownColumnEditor;
GridDropDownColumnEditor tradeEditor = gridEditMan.GetColumnEditor("TradeNameUniqueName") as GridDropDownColumnEditor;
GridDropDownColumnEditor storeEditor = gridEditMan.GetColumnEditor("StoreLocUniqueName") as GridDropDownColumnEditor;
GridDateTimeColumnEditor startDtEditor = gridEditMan.GetColumnEditor("StartDateUniqueName") as GridDateTimeColumnEditor;
GridDateTimeColumnEditor endDtEditor = gridEditMan.GetColumnEditor("EndDateUniqueName") as GridDateTimeColumnEditor;
GridCheckBoxColumnEditor activeEditor = gridEditMan.GetColumnEditor("ActiveUniqueName") as GridCheckBoxColumnEditor;
StorePromotion storePromoBLL = new StorePromotion();
StorePromotionListEntity storePromo = new StorePromotionListEntity();
storePromo.ID = Convert.ToInt32(idEditor.Text);
storePromo.Promotion = promotionsEditor.SelectedValue;
int s = promotionsEditor.SelectedIndex;
string d = promotionsEditor.SelectedText;
storePromo.TradeName = tradeEditor.SelectedValue;
storePromo.StoreLocation = storeEditor.SelectedValue;
storePromo.StartDate = Convert.ToDateTime(startDtEditor.Text);
storePromo.EndDate = Convert.ToDateTime(endDtEditor.Text);
storePromo.Active = activeEditor.Value;
storePromoBLL.UpdateStorePromotionToList(storePromo);
StorePromotionsBindData();
}
private void StorePromotionsBindData()
{
//Get ALL Store Promotions in ASCENDING Order
StorePromotion storePromosBLL = new StorePromotion();
List<StorePromotionListEntity> storePromos = new List<StorePromotionListEntity>();
storePromos = storePromosBLL.GetStorePromotionsAssignedByTrade();
radGridStorePromotions.DataSource = storePromos;
Session["AllStorePromotions"] = storePromos;
radGridStorePromotions.DataBind();
}
}
}
I've finish this task by EOD tomorrow. If anyone could help me find this, it'd be really helpful.
Thank you.
K
this._middleRightBar.setAttribute("unselectable","on");
| <tr id="OptionsRow" runat="server"> |
| <td style="vertical-align: text-top;" colspan="2"> |
| <telerik:RadDockLayout ID="OptionsLayout" runat="server" EnableEmbeddedSkins="false"> |
| <telerik:RadDockZone runat="server" |
| ID="OptionsZone" |
| BorderWidth="0px" |
| BorderStyle="None"> |
| <telerik:RadDock runat="server" |
| ID="RadDockPriority" |
| EnableDrag="False" |
| Visible="true" |
| Collapsed="true" |
| BackColor="#000099" |
| Skin="Office2007" |
| DefaultCommands="None"> |
| Public Sub HideRow(ByRef row As HtmlTableRow) |
| If Not Account.IsDeveloper OrElse True Then |
| row.Attributes.Add("style", "display: none;") |
| Else |
| row.Attributes.Add("style", "background-color: #c0c0c0;") |
| End If |
| End Sub |
| function OnImgClick(sender, args) { |
| var wnd = window.radopen("/details.aspx?" + args, null); |
| } |
| <telerik:RadWindowManager ID="window" Width="900" Height="600" VisibleStatusbar="false" ShowContentDuringLoad="false" |
| Behaviors="Close, Move" runat="server" AutoSize="False" Modal="true" EnableViewState="true"> |
| </telerik:RadWindowManager> |
if (e.Value.ToUpper() == "DEFAULT")
{
gv.MasterTableView.GetColumn(
"colMainName").Visible = true;
}
if (e.Value.ToUpper() == "WEBVALIDATION")
{
gv.MasterTableView.GetColumn(
"colMainName").Visible = false;
}
Thanks.
Mark

| <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Docks.aspx.cs" Inherits="TelerikClientSide.Docks" %> |
| <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> |
| <!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></title> |
| </head> |
| <body style="margin:0px;height:100%;overflow:hidden;"> |
| <form id="Form2" method="post" runat="server" style="height:100%;margin:0px" > |
| <telerik:RadScriptManager ID="ScriptManager1" runat="server" /> |
| <asp:Panel ID="HeaderPanel" runat="server" Width="100%"> |
| <table cellpadding="0" cellspacing="0" width="100%"> |
| <tr> |
| <td> |
| Header here |
| </td> |
| </tr> |
| </table> |
| </asp:Panel> |
| <telerik:RadSplitter ID="MainSplitter" runat="server" Height="100%" Width="100%" HeightOffset="100"> |
| <telerik:RadPane ID="NavigationPane" runat="server" Width="275px" MaxWidth="500" Scrolling="None"> |
| <telerik:RadDockZone ID="dockZoneLeftSideBar" runat="server" Orientation="Vertical" Height="100%"> |
| <telerik:RadDock ID="RadDock5" runat="server" EnableRoundedCorners="true" Title="Navigation" DockMode="Docked" Width="200px" DefaultCommands="None"> |
| <TitlebarTemplate> |
| <table width="100%" cellpadding="0" cellspacing="0" border="0"> |
| <tr> |
| <td style="font-size:10pt; font-family:Arial">Navigation</td> |
| <td align="right" style="cursor:default"> |
| <img src="../images/add.png" /> |
| <img src="../images/printer.png" /> |
| <img src="../images/disk.png" /> |
| <img src="../images/rename.png" /> |
| </td> |
| </tr> |
| </table> |
| </TitlebarTemplate> |
| <ContentTemplate> |
| <div id="divNavigationLoading" style="width:100%; text-align:center;"> |
| Loading... |
| </div> |
| </ContentTemplate> |
| </telerik:RadDock> |
| </telerik:RadDockZone> |
| </telerik:RadPane> |
| <telerik:RadSplitBar ID="NavigationContentSplitBar" runat="server" CollapseMode="Forward" /> |
| <telerik:RadPane ID="RadPane1" runat="server"> |
| Content Here |
| </telerik:RadPane> |
| </telerik:RadSplitter> |
| <telerik:RadSplitter id="Radsplitter6" runat="server" orientation="Horizontal" Width="100%" Height="40"> |
| <telerik:RadPane id="Radpane11" runat="server"> |
| Footer Here |
| </telerik:RadPane> |
| </telerik:RadSplitter> |
| </form> |
| </body> |
| </html> |
| <telerik:RadGrid runat="server" ID="grider" Skin="Office2007" AutoGenerateColumns="false" AllowMultiRowSelection="true" Width="300" height="100" > |
| <MasterTableView runat="server" ClientDataKeyNames="DataPointId,IsEnabled, HasMultiple" ShowHeader="false" TableLayout="Fixed"> |
| <NoRecordsTemplate> |
| <asp:Localize ID="Localize3" runat="server" Text="<%$ Resources:Resource, NO_AVAILABLE_ALERTS %>" /> </NoRecordsTemplate> |
| <Columns> |
| <telerik:GridBoundColumn UniqueName="Display" DataField="Display" HeaderText="<%$ Resources:Resource, DISPLAY %>" /> |
| </Columns> |
| </MasterTableView> |
| <ClientSettings AllowKeyboardNavigation="True" EnableRowHoverStyle="true"> |
| <Scrolling UseStaticHeaders="true" AllowScroll="true" /> |
| <Selecting AllowRowSelect="true" /> |
| <ClientEvents OnRowDataBound="RowDataBound" OnRowCreated="RowCreated" OnRowSelected="GridAddRowSelected" OnRowSelecting="RowSelecting" OnRowDeselected="GridAddRowDeselected"/> |
| </ClientSettings> |
| </telerik:RadGrid> |
