I've a problem.
grid.MasterTableView.GetSelectedItems() == 0
my Aspx
<%@ Page Title="" Language="C#" MasterPageFile="~/UI/Doculex.Master" AutoEventWireup="true" CodeBehind="DocumentsList.aspx.cs" Inherits="WebSearch.UI.DocumentsList" %>
<%@ MasterType VirtualPath="~/UI/Doculex.Master" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<telerik:RadCodeBlock runat="server">
</telerik:RadCodeBlock>
<%-- <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" >
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="UserGrid">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="UserGrid" LoadingPanelID="RadAjaxLoadingPanel1" />
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="RadAjaxManager1">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="UserGrid" LoadingPanelID="RadAjaxLoadingPanel1" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManager>--%>
<div class="headerPage">
<asp:Label ID="lblTitle" runat="server"></asp:Label>
</div>
<div class="containerSub" id ="containerSub" runat="server">
<telerik:RadSplitter ID ="Splitter" Width = "100%" Height ="100%" Orientation="Vertical" runat="server">
<telerik:RadPane runat="server" ID="gridPane" Scrolling="None" Height="80%" Width=100%>
<telerik:RadGrid ID="DocumentGrid" runat="server"
AllowPaging="True" AllowSorting="True"
AllowFilteringByColumn="true"
CellSpacing="0"
EnableHeaderContextMenu ="true" EnableHeaderContextFilterMenu="true"
GridLines="None"
Width="99.8%" PageSize="12" Height="500px" AutoGenerateColumns="False"
EnableLinqExpressions="false" EnableViewState="false"
onneeddatasource="DocumentGrid_NeedDataSource"
onprerender="DocumentGrid_PreRender"
onitemcommand="DocumentGrid_ItemCommand" >
<ItemStyle VerticalAlign="Top" />
<GroupingSettings CaseSensitive="false" />
<MasterTableView CommandItemDisplay="None" DataKeyNames="Id" Width="100%"
TableLayout="Auto" PagerStyle-Mode="NumericPages">
<Columns>
<telerik:GridTemplateColumn UniqueName="Select" HeaderStyle-Width="3%" AllowFiltering="false">
<ItemTemplate>
<asp:CheckBox id="chkSelect" runat="server" />
</ItemTemplate>
</telerik:GridTemplateColumn>
</Columns>
</MasterTableView>
<ClientSettings Scrolling-SaveScrollPosition="true" EnablePostBackOnRowClick="true" Scrolling-AllowScroll="true" ActiveRowIndex="true" AllowColumnsReorder="true" AllowColumnHide="true"
>
<Selecting AllowRowSelect="true" />
<ClientEvents OnColumnHidden="ColumnHiding" />
<Resizing AllowColumnResize="false"></Resizing>
</ClientSettings>
</telerik:RadGrid>
</telerik:RadPane>
<telerik:RadPane ID="searchPane" Width="20px" runat="server" Scrolling="None" Height="80%" >
<telerik:RadSlidingZone runat="server" ID="PreviewZone" SlideDirection="Left" >
<telerik:RadSlidingPane ID="DocPreview" runat="server" Width="300px" OnClientDocked = "PaneDockDocPreview"
OnClientUndocked = "PaneUnDockDocPreview">
<div Id="preview" runat="server"></div>
</telerik:RadSlidingPane>
</telerik:RadSlidingZone>
</telerik:RadPane>
</telerik:RadSplitter>
</div>
</asp:Content>
my C#
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Resources;
using System.Web;
using Telerik.Web.UI;
using WebSearch.Components;
using WebSearch.SecurityModel;
using WebSearch.UI.Model;
using WebSearch.UI.Model.Items.Grid;
using WebSearch.UI.Model.Screen;
namespace WebSearch.UI
{
public partial class DocumentsList : System.Web.UI.Page
{
#region Properties
private GridScreen _grid;
private UIContainer _container;
private string _culture;
private ResourceManager _resources;
private readonly Organization _organization = new Organization();
#endregion
#region Events
protected void Page_Load(object sender, EventArgs e)
{
GetInfo();
if (Page.IsPostBack)
{
App.SavePreferencesGrid(DocumentGrid);
App.SavePane();
}
if (!Page.IsPostBack)
{
LoadSettings();
CreateGrid();
App.LoadPreferencesGrid(DocumentGrid);
App.LoadPane(PreviewZone);
}
DocumentGrid.HeaderContextMenu.ItemCreated += new RadMenuEventHandler(HeaderContextMenu_ItemCreated);
}
void HeaderContextMenu_ItemCreated(object sender, RadMenuEventArgs e)
{
CommonFunctions.HideColumns(sender, e);
CommonFunctions.HideSpecialColumns("Select", e.Item);
CommonFunctions.HideSpecialColumns("Id", e.Item);
}
#endregion
#region Methods
private void CreateGrid()
{
List<DocumentTypeField> documentTypeFieldList = _organization.GetDocumentTypeField(1);
foreach (DocumentTypeField documentTypeField in documentTypeFieldList)
{
GridBoundColumn boundColumn = new GridBoundColumn();
DocumentGrid.MasterTableView.Columns.Add(boundColumn);
boundColumn.DataField = documentTypeField.Name;
boundColumn.HeaderText = documentTypeField.Header;
boundColumn.UniqueName = documentTypeField.Name;
boundColumn.Visible = documentTypeField.IsVisible;
if (!documentTypeField.IsVisible) boundColumn.Display = false;
}
GridBoundColumn boundColumnId = new GridBoundColumn();
DocumentGrid.MasterTableView.Columns.Add(boundColumnId);
boundColumnId.DataField = "Id";
boundColumnId.UniqueName = "Id";
boundColumnId.Visible = false;
boundColumnId.Display = false;
}
private void GetInfo()
{
_culture = App.CurrentCulture();
_resources = App.GetMasterResources("DocumentsList");
}
private void LoadSettings()
{
lblTitle.Text = _resources.GetString(lblTitle.ID, new CultureInfo(_culture));
DocPreview.IconUrl = VirtualPathUtility.ToAbsolute("~/UI/Images/layout.png");
DocPreview.TabView = SplitterSlidePaneTabView.ImageOnly;
DocPreview.Title = _resources.GetString("TitleViewPane", new CultureInfo(_culture));
DocPreview.UndockText =
_resources.GetString("UndockViewPane", new CultureInfo(_culture));
DocPreview.DockText =
_resources.GetString("DockViewPane", new CultureInfo(_culture));
DocPreview.ToolTip =
_resources.GetString("ToolTipViewPane", new CultureInfo(_culture));
PreviewZone.Style.Add("position", "static");
}
#endregion
protected void DocumentGrid_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
{
// RadRibbonBar menu= Master.FindControl("TopMenu") as RadRibbonBar;
DocumentGrid.DataSource = GenericGrid.ListDocuments;
}
protected void DocumentGrid_PreRender(object sender, EventArgs e)
{
DocumentGrid.MasterTableView.GetColumnSafe("RowIndicator").Display = false;
DocumentGrid.MasterTableView.GetColumnSafe("Id").Display = false;
CommonFunctions.GridOptions(DocumentGrid);
}
protected void DocumentGrid_ItemCommand(object sender, GridCommandEventArgs e)
{
RadGrid grid = (RadGrid)sender;
switch (e.CommandName)
{
case "RowClick":
preview.InnerHtml = null;
foreach (GridDataItem selectedItem in grid.MasterTableView.GetSelectedItems())
{
string[] extension = selectedItem["FileName"].Text.Split('.');
string path = AppDomain.CurrentDomain.BaseDirectory + "TempFolder";
String fileName = selectedItem["FileName"].Text.ToString();
path = path + " \\" + fileName;
switch (extension[1].ToLower())
{
case "txt":
StreamReader oStreamReader = File.OpenText(path);
string contents = oStreamReader.ReadToEnd();
preview.InnerHtml = contents;
oStreamReader.Close();
break;
case "pdf":
preview.InnerHtml =
"<iframe src=\"../TempFolder/" + fileName + "\" style=\"width:718px; height:700px;\" frameborder=\"0\"></iframe>";
break;
default:
preview.InnerHtml = "<b>Preview not available<b>";
break;
}
PreviewZone.ExpandedPaneId = "DocPreview";
PreviewZone.DockedPaneId = "DocPreview";
}
break;
}
}
}
}
thanks
grid.MasterTableView.GetSelectedItems() == 0
my Aspx
<%@ Page Title="" Language="C#" MasterPageFile="~/UI/Doculex.Master" AutoEventWireup="true" CodeBehind="DocumentsList.aspx.cs" Inherits="WebSearch.UI.DocumentsList" %>
<%@ MasterType VirtualPath="~/UI/Doculex.Master" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<telerik:RadCodeBlock runat="server">
</telerik:RadCodeBlock>
<%-- <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" >
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="UserGrid">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="UserGrid" LoadingPanelID="RadAjaxLoadingPanel1" />
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="RadAjaxManager1">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="UserGrid" LoadingPanelID="RadAjaxLoadingPanel1" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManager>--%>
<div class="headerPage">
<asp:Label ID="lblTitle" runat="server"></asp:Label>
</div>
<div class="containerSub" id ="containerSub" runat="server">
<telerik:RadSplitter ID ="Splitter" Width = "100%" Height ="100%" Orientation="Vertical" runat="server">
<telerik:RadPane runat="server" ID="gridPane" Scrolling="None" Height="80%" Width=100%>
<telerik:RadGrid ID="DocumentGrid" runat="server"
AllowPaging="True" AllowSorting="True"
AllowFilteringByColumn="true"
CellSpacing="0"
EnableHeaderContextMenu ="true" EnableHeaderContextFilterMenu="true"
GridLines="None"
Width="99.8%" PageSize="12" Height="500px" AutoGenerateColumns="False"
EnableLinqExpressions="false" EnableViewState="false"
onneeddatasource="DocumentGrid_NeedDataSource"
onprerender="DocumentGrid_PreRender"
onitemcommand="DocumentGrid_ItemCommand" >
<ItemStyle VerticalAlign="Top" />
<GroupingSettings CaseSensitive="false" />
<MasterTableView CommandItemDisplay="None" DataKeyNames="Id" Width="100%"
TableLayout="Auto" PagerStyle-Mode="NumericPages">
<Columns>
<telerik:GridTemplateColumn UniqueName="Select" HeaderStyle-Width="3%" AllowFiltering="false">
<ItemTemplate>
<asp:CheckBox id="chkSelect" runat="server" />
</ItemTemplate>
</telerik:GridTemplateColumn>
</Columns>
</MasterTableView>
<ClientSettings Scrolling-SaveScrollPosition="true" EnablePostBackOnRowClick="true" Scrolling-AllowScroll="true" ActiveRowIndex="true" AllowColumnsReorder="true" AllowColumnHide="true"
>
<Selecting AllowRowSelect="true" />
<ClientEvents OnColumnHidden="ColumnHiding" />
<Resizing AllowColumnResize="false"></Resizing>
</ClientSettings>
</telerik:RadGrid>
</telerik:RadPane>
<telerik:RadPane ID="searchPane" Width="20px" runat="server" Scrolling="None" Height="80%" >
<telerik:RadSlidingZone runat="server" ID="PreviewZone" SlideDirection="Left" >
<telerik:RadSlidingPane ID="DocPreview" runat="server" Width="300px" OnClientDocked = "PaneDockDocPreview"
OnClientUndocked = "PaneUnDockDocPreview">
<div Id="preview" runat="server"></div>
</telerik:RadSlidingPane>
</telerik:RadSlidingZone>
</telerik:RadPane>
</telerik:RadSplitter>
</div>
</asp:Content>
my C#
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Resources;
using System.Web;
using Telerik.Web.UI;
using WebSearch.Components;
using WebSearch.SecurityModel;
using WebSearch.UI.Model;
using WebSearch.UI.Model.Items.Grid;
using WebSearch.UI.Model.Screen;
namespace WebSearch.UI
{
public partial class DocumentsList : System.Web.UI.Page
{
#region Properties
private GridScreen _grid;
private UIContainer _container;
private string _culture;
private ResourceManager _resources;
private readonly Organization _organization = new Organization();
#endregion
#region Events
protected void Page_Load(object sender, EventArgs e)
{
GetInfo();
if (Page.IsPostBack)
{
App.SavePreferencesGrid(DocumentGrid);
App.SavePane();
}
if (!Page.IsPostBack)
{
LoadSettings();
CreateGrid();
App.LoadPreferencesGrid(DocumentGrid);
App.LoadPane(PreviewZone);
}
DocumentGrid.HeaderContextMenu.ItemCreated += new RadMenuEventHandler(HeaderContextMenu_ItemCreated);
}
void HeaderContextMenu_ItemCreated(object sender, RadMenuEventArgs e)
{
CommonFunctions.HideColumns(sender, e);
CommonFunctions.HideSpecialColumns("Select", e.Item);
CommonFunctions.HideSpecialColumns("Id", e.Item);
}
#endregion
#region Methods
private void CreateGrid()
{
List<DocumentTypeField> documentTypeFieldList = _organization.GetDocumentTypeField(1);
foreach (DocumentTypeField documentTypeField in documentTypeFieldList)
{
GridBoundColumn boundColumn = new GridBoundColumn();
DocumentGrid.MasterTableView.Columns.Add(boundColumn);
boundColumn.DataField = documentTypeField.Name;
boundColumn.HeaderText = documentTypeField.Header;
boundColumn.UniqueName = documentTypeField.Name;
boundColumn.Visible = documentTypeField.IsVisible;
if (!documentTypeField.IsVisible) boundColumn.Display = false;
}
GridBoundColumn boundColumnId = new GridBoundColumn();
DocumentGrid.MasterTableView.Columns.Add(boundColumnId);
boundColumnId.DataField = "Id";
boundColumnId.UniqueName = "Id";
boundColumnId.Visible = false;
boundColumnId.Display = false;
}
private void GetInfo()
{
_culture = App.CurrentCulture();
_resources = App.GetMasterResources("DocumentsList");
}
private void LoadSettings()
{
lblTitle.Text = _resources.GetString(lblTitle.ID, new CultureInfo(_culture));
DocPreview.IconUrl = VirtualPathUtility.ToAbsolute("~/UI/Images/layout.png");
DocPreview.TabView = SplitterSlidePaneTabView.ImageOnly;
DocPreview.Title = _resources.GetString("TitleViewPane", new CultureInfo(_culture));
DocPreview.UndockText =
_resources.GetString("UndockViewPane", new CultureInfo(_culture));
DocPreview.DockText =
_resources.GetString("DockViewPane", new CultureInfo(_culture));
DocPreview.ToolTip =
_resources.GetString("ToolTipViewPane", new CultureInfo(_culture));
PreviewZone.Style.Add("position", "static");
}
#endregion
protected void DocumentGrid_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
{
// RadRibbonBar menu= Master.FindControl("TopMenu") as RadRibbonBar;
DocumentGrid.DataSource = GenericGrid.ListDocuments;
}
protected void DocumentGrid_PreRender(object sender, EventArgs e)
{
DocumentGrid.MasterTableView.GetColumnSafe("RowIndicator").Display = false;
DocumentGrid.MasterTableView.GetColumnSafe("Id").Display = false;
CommonFunctions.GridOptions(DocumentGrid);
}
protected void DocumentGrid_ItemCommand(object sender, GridCommandEventArgs e)
{
RadGrid grid = (RadGrid)sender;
switch (e.CommandName)
{
case "RowClick":
preview.InnerHtml = null;
foreach (GridDataItem selectedItem in grid.MasterTableView.GetSelectedItems())
{
string[] extension = selectedItem["FileName"].Text.Split('.');
string path = AppDomain.CurrentDomain.BaseDirectory + "TempFolder";
String fileName = selectedItem["FileName"].Text.ToString();
path = path + " \\" + fileName;
switch (extension[1].ToLower())
{
case "txt":
StreamReader oStreamReader = File.OpenText(path);
string contents = oStreamReader.ReadToEnd();
preview.InnerHtml = contents;
oStreamReader.Close();
break;
case "pdf":
preview.InnerHtml =
"<iframe src=\"../TempFolder/" + fileName + "\" style=\"width:718px; height:700px;\" frameborder=\"0\"></iframe>";
break;
default:
preview.InnerHtml = "<b>Preview not available<b>";
break;
}
PreviewZone.ExpandedPaneId = "DocPreview";
PreviewZone.DockedPaneId = "DocPreview";
}
break;
}
}
}
}
thanks