or

|
|
10/01/2010 |
11/01/2010 |
|||||
|
9am |
12pm |
3pm |
9am |
12pm |
3pm |
||
|
Work Order 1 |
Employee1 |
|
|
|
|
|
|
|
Employee2 |
|
|
|
|
|
|
|
|
Employee3 |
|
|
|
|
|
|
|
|
Work Order 2 |
Employee1 |
|
|
|
|
|
|
|
Employee5 |
|
|
|
|
|
|
|
|
Employee6 |
|
|
|
|
|
|
|
public class FilteringByDropDownBoundColumn : GridBoundColumn { private object listDataSource = null; private Unit filterControlWidth = Unit.Percentage(90); // default private string filterTextField = "Text"; private string filterValueField = "Value"; public string FilterTextField { get { return filterTextField; } set { filterTextField = value; } } public string FilterValueField { get { return filterValueField; } set { filterValueField = value; } } protected override void SetupFilterControls(TableCell cell) { base.SetupFilterControls(cell); Control oldFilter = cell.Controls[0]; cell.Controls.RemoveAt(0); DropDownList list = new DropDownList(); list.ID = "list" + DataField; list.AutoPostBack = true; list.SelectedIndexChanged += new EventHandler(list_SelectedIndexChanged); list.DataTextField = FilterTextField; list.DataValueField = FilterValueField; list.DataSource = ListDataSource; list.Width = FilterControlWidth; list.Height = Unit.Pixel(20); list.EnableViewState = true; list.Attributes.Add("style", "font-size:.9em"); cell.Controls.AddAt(0, list); cell.Controls.RemoveAt(1); } void list_SelectedIndexChanged(object sender, EventArgs e) { GridFilteringItem filterItem = (sender as DropDownList).NamingContainer as GridFilteringItem; filterItem.FireCommandEvent("Filter", new Pair()); } public new Unit FilterControlWidth { get { return (Unit)filterControlWidth; } set { filterControlWidth = value; } } public object ListDataSource { get { return listDataSource; } set { listDataSource = value; } } protected override void SetCurrentFilterValueToControl(TableCell cell) { base.SetCurrentFilterValueToControl(cell); DropDownList list = (DropDownList)cell.Controls[0]; if (CurrentFilterValue != string.Empty) { list.SelectedValue = CurrentFilterValue; } } protected override string GetCurrentFilterValueFromControl(TableCell cell) { DropDownList list = (DropDownList)cell.Controls[0]; return list.SelectedValue; } protected override string GetFilterDataField() { return FilterValueField; } protected override void OnInit(EventArgs e) { InitializeComponent(); base.OnInit(e); } private void InitializeComponent() { SetupTabs(); SetupFilters(NeedsActionAccountsGrid); } private void DataBindGrid(string view, RadGrid grid) { if (grid != null && !string.IsNullOrEmpty(view)) { QueueViewType viewType = (QueueViewType)(Enum.Parse(typeof(QueueViewType), view)); Rep rep = LoggedInUser; DateTime? LastModifiedBeginDate = null; DateTime? LastModifiedEndDate = null; DateCriteria.SetDate(ref LastModifiedBeginDate, ref LastModifiedEndDate, GetLastModifiedDateCriteria(grid)); List<AccountQueueRecord> datasource = AccountQueueLogic.GetAccountsQueueItems(rep, viewType, LastModifiedBeginDate, LastModifiedEndDate, GetRegistrationTypeID(grid), grid.PageSize, grid.CurrentPageIndex); grid.DataSource = datasource; grid.DataBind(); } } private string GetRegistrationTypeID(RadGrid grid) { string RegistrationTypeID = null; FilteringByDropDownBoundColumn col = grid.Columns.FindByDataFieldSafe("Registration") as FilteringByDropDownBoundColumn; if (col != null && col.CurrentFilterValue != "All") RegistrationTypeID = col.CurrentFilterValue; return RegistrationTypeID; } private void SetupFilters(RadGrid grid) { if (grid == null) return; LookupTypeService lookupService = new LookupTypeService(); FilteringByDropDownBoundColumn col = grid.Columns.FindByDataFieldSafe("Registration") as FilteringByDropDownBoundColumn; if (col != null) { List<RegistrationType> list = new List<RegistrationType>(); list.Add(new RegistrationType() { Display = "All", Code = "All" }); list.AddRange(lookupService.GetAllEnabled(LookupTypeEnum.RegistrationType).Cast<RegistrationType>().ToList()); col.ListDataSource = list; col.FilterTextField = "Display"; col.FilterValueField = "Code"; } } protected void GridAccountQueue_ItemCommand(object source, GridCommandEventArgs e) { if (e.CommandName == RadGrid.FilterCommandName) { e.Canceled = true; RadGrid grid = (RadGrid)source; grid.MasterTableView.FilterExpression = ""; // clear this since we're providing a filtered datasource string viewID = ""; string gridID = grid.ID; switch (gridID) { case "NeedsActionAccountsGrid": case "NeedsActionProposalsGrid": viewID = NeedsActionTabs.SelectedTab.SelectedTab.Value; // go to second level of tabs break; } DataBindGrid(viewID, grid); } } <telerik:RadGrid ID="NeedsActionAccountsGrid" runat="server" OnItemCommand = "GridAccountQueue_ItemCommand"
OnSortCommand="GridAccountQueue_SortCommand"OnPageSizeChanged="GridAccountQueue_PageSizeChanged" OnPageIndexChanged="GridAccountQueue_PageIndexChanged" AutoGenerateColumns="false" PageSize="10" ShowStatusBar="true" AllowSorting="true" AllowPaging="true" AllowCustomPaging="true" Skin="Simple" AllowFilteringByColumn="true"> <PagerStyle Mode="NextPrevAndNumeric" AlwaysVisible="true"/> <StatusBarSettings LoadingText="Loading..." /> <MasterTableView HeaderStyle-BackColor="Gray" HeaderStyle-ForeColor="White" EnableColumnsViewState="true" TableLayout="Auto"> <SortExpressions> <telerik:GridSortExpression FieldName="LastModified" SortOrder="Descending" /> </SortExpressions> <Columns> <telerik:GridHyperLinkColumn AllowFiltering="false" HeaderText="AC ID" DataTextField="AccountID" DataNavigateUrlFields="AccountID" DataNavigateUrlFormatString="/Administratin/AccountSummary.aspx?id={0}" HeaderStyle-Width="5%" ItemStyle-Width="5%" ItemStyle-CssClass="AccountLink" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center"></telerik:GridHyperLinkColumn> <custom:FilteringByDropDownBoundColumn HeaderText="Rep code" DataField="RepCode" HeaderStyle-Width="6%" ItemStyle-Width="6%" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center"></custom:FilteringByDropDownBoundColumn> <custom:FilteringByDropDownBoundColumn HeaderText="Registration" HeaderAbbr="Reg." DataField="Registration" HeaderStyle-Width="10%" ItemStyle-Width="10%"></custom:FilteringByDropDownBoundColumn> <custom:FilteringByDropDownBoundColumn HeaderText="Platform" DataField="Platform" HeaderStyle-Width="12%" ItemStyle-Width="12%"></custom:FilteringByDropDownBoundColumn> <custom:FilteringByDropDownBoundColumn HeaderText="Product Type" HeaderAbbr="Prod. Type" DataField="ProductType" HeaderStyle-Width="12%" ItemStyle-Width="12%"></custom:FilteringByDropDownBoundColumn> <telerik:GridBoundColumn HeaderText="Account Holders" HeaderAbbr="Acct. Holders" DataField="AccountHolders" FilterControlWidth="90%" AutoPostBackOnFilter="false"></telerik:GridBoundColumn> <custom:FilteringByDropDownBoundColumn HeaderText="Last Modified" HeaderAbbr="Last Mod." DataField="LastModified" DataFormatString="{0:M/dd/yyyy h:mm tt}" HeaderStyle-Width="13%" ItemStyle-Width="13%"></custom:FilteringByDropDownBoundColumn> <telerik:GridBoundColumn AllowFiltering="false" HeaderText="Status" DataField="Status" HeaderStyle-Width="15%" ItemStyle-Width="15%" ></telerik:GridBoundColumn> <telerik:GridButtonColumn ButtonType="ImageButton" HeaderText="Notes" HeaderStyle-Width="4%" ItemStyle-Width="4%" ImageUrl="../Images/grid/icon_attachment.gif" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center"></telerik:GridButtonColumn> <telerik:GridButtonColumn ButtonType="ImageButton" HeaderText="Docs" HeaderStyle-Width="4%" ItemStyle-Width="4%" ImageUrl="../Images/grid/icon_attachment.gif" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center"></telerik:GridButtonColumn> </Columns> </MasterTableView> <ClientSettings> <Resizing AllowColumnResize="true" /> </ClientSettings> </telerik:RadGrid> Greetings,
How i can get SelectedItemIndex in listview to client-side?
Regards,