<script src="signalr/hubs" type="text/javascript"></script>
User-agent: * Disallow: /signalr/
<script src="signalr/hubs" type="text/javascript"></script>
User-agent: * Disallow: /signalr/
با سلام
از نظر قدرت مانور در گزارش گزارش ساز devexpress از سایر ابزارها مثل ssrs , telerik , crystall فوق العاده قوی تره و امکان نمایش دادهها به صورت پدر و فرزندی رو تا n لایه ارائه میده چیزی ، امکان تغذیه گزارش با داده هایی که خود شما میخواید مثل یک iqueryable یا list یا datatable و میتونه کانکشن نداشته باشه و در هر سطحی از گزارش شما امکانات کامل کد نویسی رو برای هر رویدادی در گزارش دارید که فوق العاده است و یک گزارش هم در وب و هم در ویندوز قابل استفاده مجدده ولی مشکلی که هست و باعث شد بنده فعلا با ssrs کار کنم اینه که در وب چیدمان گزارش به هم میخوره که در مثالهای شرکت سازنده چنین چیزی دیده نمیشه - رتبه دوم متعلق به ssrs هست که ابزاری پر قدرت با قابلیت برنامه نویسی توکار vb.net و درج هر گونه کتابخانه خارجی در صورت نیاز است ، تا اونجایی که بنده اطلاع دارم telerik یکی از ضعبفترین نوع گزارشات رو در بین بقیه شرکتها ارائه میده
export interface IProduct { productId: number; productName: string; productCode: string; releaseDate: string; price: number; description: string; starRating: number; imageUrl: string; }
import { Component } from 'angular2/core'; import { IProduct } from './product'; @Component({ selector: 'pm-products', templateUrl: 'app/products/product-list.component.html' }) export class ProductListComponent { // as before ... products: IProduct[] = [ // as before ... ]; // as before ... }
@Component({ //... styles: ['thead {color: blue;}'] })
@Component({ //... styleUrls: ['app/products/product-list.component.css'] })
thead { color: #337AB7; }
@Component({ selector: 'pm-products', templateUrl: 'app/products/product-list.component.html', styleUrls: ['app/products/product-list.component.css'] }) export class ProductListComponent { //...
export class ProductListComponent implements OnInit {
import { Component, OnInit } from 'angular2/core';
ngOnInit(): void { console.log('In OnInit'); }
import { PipeTransform, Pipe } from 'angular2/core'; import { IProduct } from './product'; @Pipe({ name: 'productFilter' }) export class ProductFilterPipe implements PipeTransform { transform(value: IProduct[], args: string[]): IProduct[] { let filter: string = args[0] ? args[0].toLocaleLowerCase() : null; return filter ? value.filter((product: IProduct) => product.productName.toLocaleLowerCase().indexOf(filter) != -1) : value; } }
<tr *ngFor='#product of products | productFilter:listFilter'>
<input type='text' [(ngModel)]='listFilter' />
import { Component, OnInit } from 'angular2/core'; import { IProduct } from './product'; import { ProductFilterPipe } from './product-filter.pipe'; @Component({ selector: 'pm-products', templateUrl: 'app/products/product-list.component.html', styleUrls: ['app/products/product-list.component.css'], pipes: [ProductFilterPipe] }) export class ProductListComponent implements OnInit { //...
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> <head> <meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> <title></title> <link href="jquery-impromptu.css" media="all" rel="stylesheet" type="text/css" /> <script src="jquery-1.8.3.min.js" type="text/javascript"></script> <script src="jquery-impromptu.js" type="text/javascript"></script> <script type="text/javascript"> $(function(){ $show.click(function(e){ $.prompt("Hello World!"); }); }); }); </script> </head> <body> <button class="show">ShowPrompt</button> </body> </html>
12.استفاده از validation سمت کاربر
13.استفاده از validation سمت سرور
14.چک کردن scriptهای مورد استفاده سمت کاربر
در واقع اگر بخواهیم سیستمهای مدیریت پایگاه داده عملیاتی را رتبه بندی کنیم، به جز سرعت، باید عوامل مختلفی را در نظر بگیریم که چنین کاری نیاز به همکاری گروهی بزرگ دارد. خوشبختانه چنین گروههایی وجود دارند و آن قدر معتبر هستند که اکثر شرکتهای بزرگ به آمارهای آنها استناد میکنند. در فناوریهای مربوط به آی تی، برای رسیدن به معتبرترین نتایج باید به گزارشهای ارائه شدهی شرکت گارتنر رجوع کنیم. گارتنر، شرکت پژوهشی و مشاورهی آمریکایی است، که در زمینهی ارائه خدمات برونسپاری، تحقیق و پژوهش و مشاوره فناوری اطلاعات فعالیت مینماید. این شرکت در سال 1979 راهاندازی شد و در سال 2014 بیش از 6500 نفر کارمند داشته که در 85 کشور بودهاند. در این بین حدود 1500 نفر از آنها در بخش تحقیق و توسعه فعالیت داشتهاند. همچنین در این سال، درآمد شرکت گارتنر که عمدتا از طریق مشاوره دادن به شرکتهای مختلف بوده، بیش از 2 میلیارد دلار در سال 2014 بوده است.
در انتها لازم میبینم به نکاتی مهم اشاره کنم:
<head> @*سایر شیوه نامهها و اسکریپت ها*@ @RenderSection("styles", required: false) </head>
namespace DynamicCssExample.Controllers { public class HomeController : Controller { public ActionResult Index() { return View(); } public string GetStyle() { Response.ContentType = "text/css"; //در این قسمت میتوانیم به دیتابیس متصل شویم و شیوه نامهی مورد نظر را واکشی کنیم و بازگشت دهیم return "h2{color:yellow}"; } } }
@{ ViewBag.Title = "Index"; Layout = "~/Views/Shared/_Layout.cshtml"; } @section styles { <link rel="stylesheet" href="@Url.Action("GetStyle", "Home")" type="text/css"/> } <h2>Index</h2>
public IPdfReportData Create() { return new PdfReport().DocumentPreferences(doc => { //DocumentMargins margin = new DocumentMargins() //{ // Bottom = 5, // Left = 5, // Right = 5, // Top = 5, //}; //doc.DocumentMargins(margin); //PrintingPreferences printPreference = new PrintingPreferences() //{ // ShowPrintDialogAutomatically = true, //}; //doc.PrintingPreferences(printPreference); doc.RunDirection(PdfRunDirection.RightToLeft); doc.Orientation(PageOrientation.Landscape); doc.PageSize(PdfPageSize.A4); doc.DocumentMetadata(new DocumentMetadata { Author = "ILIA", Application = "PdfRpt", Keywords = "IList Rpt.", Subject = "ابلاغ استاد", Title = "ابلاغ استاد" }); }) .DefaultFonts(fonts => { fonts.Size(8); fonts.Path(Environment.GetEnvironmentVariable("SystemRoot") + "\\fonts\\BYekan.ttf", Environment.GetEnvironmentVariable("SystemRoot") + "\\fonts\\tahoma.ttf"); }) .PagesFooter(footer => { footer.DefaultFooter(DateTime.Now.ToString("MM/dd/yyyy")); }) .PagesHeader(header => { //header.PdfFont.Fonts.Add(new iTextSharp.text.Font("BYekan", 10f,0, new BaseColor(Color.Black))); //header.PdfFont.Fonts.Add(new iTextSharp.text.Font("BYekan", 10f, new BaseColor(Color.Black))); //CH_Rpt_TeacherEblagh ch = new CH_Rpt_TeacherEblagh(TermId.ToString(), "ساری", CenterId.ToString()); //header.CustomHeader(ch); header.DefaultHeader(defaultHeader => { defaultHeader.RunDirection(PdfRunDirection.RightToLeft); //defaultHeader.ImagePath(AppPath.ApplicationPath + "\\Images\\01.png"); defaultHeader.Message("ابلاغ استاد"); }); }) .MainTableTemplate(template => { template.BasicTemplate(BasicTemplate.SilverTemplate); }) .MainTablePreferences(table => { table.ColumnsWidthsType(TableColumnWidthType.Absolute); table.NumberOfDataRowsPerPage(0); }) .MainTableDataSource(dataSource => { dataSource.StronglyTypedList<ProgramRowSemiInfo>(resultSource); }) .MainTableSummarySettings(summarySettings => { //summarySettings.OverallSummarySettings("Summary"); // summarySettings.PreviousPageSummarySettings("Previous Page Summary"); // summarySettings.PageSummarySettings("Page Summary"); }) .MainTableColumns(columns => { columns.AddColumn(column => { column.PropertyName("rowNo"); column.IsRowNumber(true); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(0); column.Width(15); column.HeaderCell("#", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName<ProgramRowSemiInfo>(x => x.LessonId); column.CellsHorizontalAlignment(HorizontalAlignment.Left); column.IsVisible(true); column.Order(1); column.Width(35); column.HeaderCell("کد درس", horizontalAlignment: HorizontalAlignment.Left); }); columns.AddColumn(column => { column.PropertyName<ProgramRowSemiInfo>(x => x.LessonName); column.CellsHorizontalAlignment(HorizontalAlignment.Left); column.IsVisible(true); column.Order(2); column.Width(80); column.HeaderCell("عنوان درس", horizontalAlignment: HorizontalAlignment.Left); }); columns.AddColumn(column => { column.PropertyName<ProgramRowSemiInfo>(x => x.GroupNumber); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(2); column.Width(20); column.HeaderCell("گروه", horizontalAlignment: HorizontalAlignment.Center); }); //columns.AddColumn(column => //{ // column.PropertyName<ProgramRowSemiInfo>(x => x.TrendName); // column.CellsHorizontalAlignment(HorizontalAlignment.Left); // column.IsVisible(true); // column.Order(3); // column.Width(100); // column.HeaderCell("عنوان رشته", horizontalAlignment: HorizontalAlignment.Left); //}); columns.AddColumn(column => { column.PropertyName<ProgramRowSemiInfo>(x => x.TimeShort); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(3); column.Width(30); column.HeaderCell("ساعت", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName<ProgramRowSemiInfo>(x => x.DaySemiTitle); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(3); column.Width(15); column.HeaderCell("روز", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName<ProgramRowSemiInfo>(x => x.SessionCount); column.CellsHorizontalAlignment(HorizontalAlignment.Left); column.IsVisible(true); column.Order(3); column.Width(15); column.HeaderCell("ت ج", horizontalAlignment: HorizontalAlignment.Left); }); columns.AddColumn(column => { column.PropertyName<ProgramRowSemiInfo>(x => x.SumOfTeachStringShort); column.CellsHorizontalAlignment(HorizontalAlignment.Center); column.IsVisible(true); column.Order(3); column.Width(25); column.HeaderCell("جمع ساعت", horizontalAlignment: HorizontalAlignment.Center); }); columns.AddColumn(column => { column.PropertyName<ProgramRowSemiInfo>(x => x.PlaceShortName); column.CellsHorizontalAlignment(HorizontalAlignment.Left); column.IsVisible(true); column.Order(3); column.Width(42); column.HeaderCell("ساختمان", horizontalAlignment: HorizontalAlignment.Left); }); columns.AddColumn(column => { column.PropertyName<ProgramRowSemiInfo>(x => x.ClassShortName); column.CellsHorizontalAlignment(HorizontalAlignment.Left); column.IsVisible(true); column.Order(3); column.Width(50); column.HeaderCell("کلاس", horizontalAlignment: HorizontalAlignment.Left); }); int maxSessionCount = resultSource.Max(p => p.SessionCount); for (int i = 0; i < maxSessionCount; i++) { columns.AddColumn(column => { column.PropertyName("S" + (i + 1)); column.CellsHorizontalAlignment(HorizontalAlignment.Left); column.IsVisible(true); column.Order(4); column.Width(25); column.HeaderCell("ج " + (i + 1), horizontalAlignment: HorizontalAlignment.Center); //column.ColumnItemsTemplate(t => t.CustomTemplate(new SessionCustomCellTemplate())); }); } }) .MainTableEvents(events => { events.DataSourceIsEmpty(message: "داده ای برای مشاهده وجود ندارد."); }) .Export(export => { //export.ToExcel(); //export.ToCsv(); //export.ToXml(); }) .Generate(data => data.AsPdfFile(string.Format("{0}\\{1}", ReportPathHelper.ReportsPath, ReportFileName))); }
[ServiceContract(Namespace = "")] [SilverlightFaultBehavior] [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] public class PdfReportService { [OperationContract] public string CreateReport(int centerId, int termId, int teacherId) { Stopwatch sw = Stopwatch.StartNew(); var rpt = new Rpt_TeacherEblagh(centerId, termId, teacherId); IPdfReportData rptData = rpt.Create(); sw.Stop(); long m = sw.ElapsedMilliseconds; string result = rptData.FileName.Replace(HttpRuntime.AppDomainAppPath, string.Empty); return result; } }
-- Full text Languages SELECT * FROM sys.fulltext_languages ORDER BY name; -- Semantic Search Languages SELECT * FROM sys.fulltext_semantic_languages ORDER BY name; GO
-- Rank with CONTAINSTABLE SELECT D.id, D.title, CT.[RANK], D.docexcerpt FROM CONTAINSTABLE(dbo.Documents, docexcerpt, N'data OR level') AS CT INNER JOIN dbo.Documents AS D ON CT.[KEY] = D.id ORDER BY CT.[RANK] DESC;
SELECT * FROM CONTAINSTABLE(dbo.Documents, docexcerpt, N'data OR level')
-- Rank with FREETEXTTABLE SELECT D.id, D.title, FT.[RANK], D.docexcerpt FROM FREETEXTTABLE (dbo.Documents, docexcerpt, N'data level') AS FT INNER JOIN dbo.Documents AS D ON FT.[KEY] = D.id ORDER BY FT.[RANK] DESC;
-- Rank with FREETEXTTABLE and top_n_by_rank SELECT D.id, D.title, FT.[RANK], D.docexcerpt FROM FREETEXTTABLE (dbo.Documents, docexcerpt, N'data level', 2) AS FT INNER JOIN dbo.Documents AS D ON FT.[KEY] = D.id ORDER BY FT.[RANK] DESC;
-- Weighted terms SELECT D.id, D.title, CT.[RANK], D.docexcerpt FROM CONTAINSTABLE (dbo.Documents, docexcerpt, N'ISABOUT(data weight(0.8), level weight(0.2))') AS CT INNER JOIN dbo.Documents AS D ON CT.[KEY] = D.id ORDER BY CT.[RANK] DESC;
-- Proximity term SELECT D.id, D.title, CT.[RANK] FROM CONTAINSTABLE (dbo.Documents, doccontent, N'NEAR((data, row), 30)') AS CT INNER JOIN dbo.Documents AS D ON CT.[KEY] = D.id ORDER BY CT.[RANK] DESC; GO
-- Top 100 semantic key phrases SELECT TOP (100) D.id, D.title, SKT.column_id, COL_NAME(OBJECT_ID(N'dbo.Documents'), SKT.column_id) AS column_name, SKT.document_key, SKT.keyphrase, SKT.score FROM SEMANTICKEYPHRASETABLE (dbo.Documents, doccontent) AS SKT INNER JOIN dbo.Documents AS D ON SKT.document_key = D.id ORDER BY SKT.score DESC;
-- Documents that are similar to document 1 SELECT S.source_document_title, SST.matched_document_key, D.title AS matched_document_title, SST.score FROM (SEMANTICSIMILARITYTABLE (dbo.Documents, doccontent, 1) AS SST INNER JOIN dbo.Documents AS D ON SST.matched_document_key = D.id) CROSS JOIN (SELECT title FROM dbo.Documents WHERE id=1) AS S(source_document_title) ORDER BY SST.score DESC;
-- Key phrases that are common across two documents SELECT SSDT.keyphrase, SSDT.score FROM SEMANTICSIMILARITYDETAILSTABLE (dbo.Documents, doccontent, 1, doccontent, 4) AS SSDT ORDER BY SSDT.score DESC;
export * from './utilities/DateTime'
import { DateTime } from '@app/common'
import { DateTime } from './utilities/DateTime'