PDA

View Full Version : سوال: کار با دیتاگرید Telerik



MasoudAdmin
چهارشنبه 05 شهریور 1399, 12:15 عصر
با سلام به همه
من داخل برنامه Windows Application که نوشتم از کامپوننت گرید Telerik استفاده کردم و دیتا رو از دیتابیس خوندم و داخل گرید ریختم. الان فیلترشم هم فعال هست (Enable Filtring=True). الان من چجوری می تونم این شرایط رو فارسی کنم مثلا به جای Contains ، شامل رو نمایش بده و یا greatthan بزرگتر از رو نمایش بده.:متفکر:
یه سوال دیگه هم اینکه وقتی بر اساس ستونی گروه بندی هم می کنم چجوری می تونم تعداد مقادیری که گروه بندی شده رو تو خود گرید نمایش بده.:متفکر:
با تشکر.

مهدی کرامتی
چهارشنبه 05 شهریور 1399, 13:06 عصر
مستندات کامپوننت مربوطه رو بررسی کنید، روش اش رو گفته.
راهکارش اینه که شما یک کلاس ایجاد می کنید (بر اساس نمونه ارائه شده در مستندات) که معادل هر عبارت رو به فارسی در قالب یک کلاس می نویسید، سپس در ابتدای باز شدن برنامه تون اون کلاس رو معرفی می کنید.

در پاسخ سوال دوم نیز، در مستندات Telerik for Windows Forms به بخش Column Footers مراجعه کنید، مثالهای زیادی در این باره داره.

M.sheaikhzadeh
چهارشنبه 05 شهریور 1399, 13:23 عصر
سلام
1- ابتدا فایل program .cs رو به صورت زیر ویرایش کن:


using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
using PersianLocalization;
using Telerik.WinControls.UI.Localization;

namespace Phantom
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
RadGridLocalizationProvider.CurrentProvider = new PersianRadGridLocalizationProvider();
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(fals e);
Application.Run(new Form1());
}
}
}



2-فایل PersianLocalization.cs
را به پروژه ات اضافه کن


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Telerik;
using Telerik.WinControls.UI;
using Telerik.WinControls.UI.Localization;

namespace PersianLocalization
{
public class PersianRadGridLocalizationProvider : RadGridLocalizationProvider
{

public override string GetLocalizedString(string id)
{
switch (id)
{
case RadGridStringId.FilterFunctionBetween:
return "بین"; //Between
case RadGridStringId.FilterOperatorBetween:
return "بین";
case RadGridStringId.FilterFunctionContains:
return "شامل";
case RadGridStringId.FilterOperatorContains:
return "";
case RadGridStringId.FilterFunctionDoesNotContain:
return "شامل نشود"; //Does not contain
case RadGridStringId.FilterOperatorDoesNotContain:
return "شامل نشود";
case RadGridStringId.FilterFunctionEndsWith:
return "پایان پذیرد با"; //Ends with
case RadGridStringId.FilterOperatorEndsWith:
return "پایان پذیرد با";
case RadGridStringId.FilterFunctionEqualTo:
return "برابر با"; //Equals
case RadGridStringId.FilterOperatorEqualTo:
return "برابر با";
case RadGridStringId.FilterFunctionGreaterThan:
return "بزرگتر از"; //Greater than
case RadGridStringId.FilterOperatorGreaterThan:
return "بزرگتر از";
case RadGridStringId.FilterFunctionGreaterThanOrEqualTo :
return "بزرگتر یا مساوی با"; //Greater than or equal to
case RadGridStringId.FilterOperatorGreaterThanOrEqualTo :
return "بزرگتر یا مساوی با";
case RadGridStringId.FilterFunctionIsEmpty:
return "خالی باشد"; //Is empty
case RadGridStringId.FilterOperatorIsEmpty:
return "خالی باشد";
case RadGridStringId.FilterFunctionIsNull:
return "باشد null"; //Is null
case RadGridStringId.FilterOperatorIsNull:
return "باشد null";
case RadGridStringId.FilterFunctionLessThan:
return "کمتر از"; //Less than
case RadGridStringId.FilterOperatorLessThan:
return "کمتر از";
case RadGridStringId.FilterFunctionLessThanOrEqualTo:
return "کمتر یا مساوی با"; //Less than or equal to
case RadGridStringId.FilterOperatorLessThanOrEqualTo:
return "کمتر یا مساوی با";
case RadGridStringId.FilterFunctionNoFilter:
return "بدون شرط"; //No filter
case RadGridStringId.FilterOperatorNoFilter:
return "بدون شرط";
case RadGridStringId.FilterFunctionNotBetween:
return "نباشد بین"; //Not between
case RadGridStringId.FilterOperatorNotBetween:
return "نباشد بین"; //Operator
case RadGridStringId.FilterFunctionNotEqualTo:
return "برابر نباشد با"; //Not equal to
case RadGridStringId.FilterOperatorNotEqualTo:
return "برابر نباشد با";
case RadGridStringId.FilterFunctionNotIsEmpty:
return "خالی نباشد"; //Is not empty
case RadGridStringId.FilterFunctionNotIsNull:
return "نباشد null"; //Is not null
case RadGridStringId.FilterFunctionStartsWith:
return "شروع شود با"; //Starts with
case RadGridStringId.FilterFunctionCustom:
return "شرط دلخواه"; //Custom
case RadGridStringId.CustomFilterMenuItem:
return "شرط دلخواه منو"; //Custom
case RadGridStringId.CustomFilterDialogCaption:
return "انتخاب شرط دلخواه"; //RadGridView Custom Filter Dialog
case RadGridStringId.CustomFilterDialogLabel:
return ":نشان دادن سطرهایی که"; //Show rows where:
case RadGridStringId.CustomFilterDialogRbAnd:
return "و"; //And
case RadGridStringId.CustomFilterDialogRbOr:
return "یا"; //Or
case RadGridStringId.CustomFilterDialogBtnOk:
return "تایید"; //OK
case RadGridStringId.CustomFilterDialogBtnCancel:
return "انصراف"; //Cancel
case RadGridStringId.AddNewRowString:
return "";
case RadGridStringId.ClearValueMenuItem:
return "پاک کردن مقدار سلول";
case RadGridStringId.DeleteRowMenuItem:
return "حذف سطر"; //Delete Row
case RadGridStringId.SortAscendingMenuItem:
return "مرتب سازی صعودی"; //Sort Ascending
case RadGridStringId.SortDescendingMenuItem:
return "مرتب سازی نزولی"; //Sort Descending
case RadGridStringId.ClearSortingMenuItem:
return "حذف مرتب سازی"; //Clear Sorting
case RadGridStringId.ConditionalFormattingMenuItem:
return "قالب بندی مشروط"; //Conditional Formatting
case RadGridStringId.GroupByThisColumnMenuItem:
return "گروهبندی بر حسب این ستون"; //Group by this column
case RadGridStringId.UngroupThisColumn:
return "حذف این ستون از گروهبندی "; //Ungroup this column
case RadGridStringId.ColumnChooserMenuItem:
return "انتخابگر ستون"; //Column Chooser
case RadGridStringId.HideMenuItem:
return "مخفی کردن ستون"; //Hide
case RadGridStringId.UnpinMenuItem:
return "حالت پیش فرض"; //Unpin
case RadGridStringId.PinMenuItem:
return "حالت ستون"; //Pin
case RadGridStringId.PinAtLeftMenuItem:
return "چسپیدن به سمت چپ";
case RadGridStringId.PinAtRightMenuItem:
return "چسپیدن به سمت راست";
case RadGridStringId.PinAtTopMenuItem:
return "چسپیدن به بالا";
case RadGridStringId.PinAtBottomMenuItem:
return "چسپیدن به پایین";
case RadGridStringId.BestFitMenuItem:
return "اندازه بهینه ستون"; //Best Fit
case RadGridStringId.PasteMenuItem:
return "چسپاندن"; //Paste
case RadGridStringId.EditMenuItem:
return "ویرایش"; //Edit
case RadGridStringId.CopyMenuItem:
return "کپی"; //Copy
case RadGridStringId.ConditionalFormattingCaption:
return "قالب بندی مشروط"; //Custom Formatting Condition Editor
case RadGridStringId.ConditionalFormattingLblColumn:
return "قالب بندی سلولهایی با شرط:"; //Column:
case RadGridStringId.ConditionalFormattingLblName:
return "نام شرط:"; //Name:
case RadGridStringId.ConditionalFormattingLblType:
return "مقدار سلول:"; //Type:
case RadGridStringId.ConditionalFormattingLblValue1:
return "مقدار اول:"; //Value 1:
case RadGridStringId.ConditionalFormattingLblValue2:
return "مقدار دوم:"; //Value 2:
case RadGridStringId.ConditionalFormattingGrpConditions :
return "شرایط"; //Conditions
case RadGridStringId.ConditionalFormattingGrpProperties :
return "مشخصات"; //Properties
case RadGridStringId.ConditionalFormattingChkApplyToRow :
return "اعمال این شرط به کل سطر"; //Apply to row
case RadGridStringId.ConditionalFormattingBtnAdd:
return "افزودن شرایط"; //Add
case RadGridStringId.ConditionalFormattingBtnRemove:
return "حذف شرایط انتخابی"; //Remove
case RadGridStringId.ConditionalFormattingBtnOK:
return "تایید"; //OK
case RadGridStringId.ConditionalFormattingBtnCancel:
return "انصراف"; //Cancel
case RadGridStringId.ConditionalFormattingBtnApply:
return "اعمال قالب بندی"; //Apply
case RadGridStringId.ColumnChooserFormCaption:
return "انتخاب ستون ها"; //Column Chooser
case RadGridStringId.ColumnChooserFormMessage:
return "برای حذف یکی از ستونها، آن ستون را به اینجا بکشید"; //"Drag a column header from the grid here to remove it from the current view.";
case RadGridStringId.CompositeFilterFormErrorCaption:
return "خطا";
case RadGridStringId.ConditionalFormattingChooseOne:
return "[یکی را انتخاب کنید]";
case RadGridStringId.ConditionalFormattingContains:
return "[حاوی [مقدار اول";
case RadGridStringId.ConditionalFormattingDoesNotContai n:
return "حاوی [مقدار اول] نباشد";
case RadGridStringId.ConditionalFormattingEndsWith:
return "با [مقدار اول] پایان یابد";
case RadGridStringId.ConditionalFormattingEqualsTo:
return "[برابر با [مقدار اول";
case RadGridStringId.ConditionalFormattingIsBetween:
return "بین [مقدار اول] و [مقدار دوم] باشد";
case RadGridStringId.ConditionalFormattingIsGreaterThan :
return "[بزرگتر از [مقدار اول";
case RadGridStringId.ConditionalFormattingIsGreaterThan OrEqual:
return "[بزرگتر یا مساوی با [مقدار اول";
case RadGridStringId.ConditionalFormattingIsLessThan:
return "کوچکتر از [مقدار اول]";
case RadGridStringId.ConditionalFormattingIsLessThanOrE qual:
return "کوچکتر یا مساوی با [مقدار اول]";
case RadGridStringId.ConditionalFormattingIsNotBetween:
return "بین [مقدار اول] و [مقدار دوم] نباشد";
case RadGridStringId.ConditionalFormattingIsNotEqualTo:
return "برابر با [مقدار اول] نباشد";
case RadGridStringId.ConditionalFormattingRuleAppliesOn :
return "اعمال شرایط روی:";
case RadGridStringId.ConditionalFormattingStartsWith:
return "با [مقدار اول] شروع می شود";
case RadGridStringId.CustomFilterDialogCheckBoxNot:
return "با این شرایط نباشد";
case RadGridStringId.CustomFilterDialogFalse:
return "False";
case RadGridStringId.CustomFilterDialogTrue:
return "True";
case RadGridStringId.FilterCompositeNotOperator:
return "نباشد";
case RadGridStringId.FilterLogicalOperatorAnd:
return "و";
case RadGridStringId.FilterLogicalOperatorOr:
return "یا";
case RadGridStringId.FilterMenuAvailableFilters:
return "فیلتر شده";
case RadGridStringId.FilterMenuButtonCancel:
return "انصراف";
case RadGridStringId.FilterMenuButtonOK:
return "تایید";
case RadGridStringId.FilterMenuClearFilters:
return "پاک کردن فیلتر";
case RadGridStringId.FilterMenuSearchBoxText:
return "جستجو...";
case RadGridStringId.FilterMenuSelectionAll:
return "همه";
case RadGridStringId.FilterMenuSelectionAllSearched:
return "نتیجه همه جستجو";
case RadGridStringId.FilterMenuSelectionNotNull:
return "نباشد null";
case RadGridStringId.FilterMenuSelectionNull:
return "باشد null";
case RadGridStringId.FilterOperatorCustom:
return "دلخواه";
case RadGridStringId.FilterOperatorIsLike:
return "مانند";
case RadGridStringId.FilterOperatorNotIsContainedIn:
return "نباشد در";
case RadGridStringId.FilterOperatorNotIsEmpty:
return "خالی نباشد";
case RadGridStringId.FilterOperatorNotIsLike:
return "نباشد شبیه";
case RadGridStringId.FilterOperatorNotIsNull:
return "نباشد null";
case RadGridStringId.FilterOperatorStartsWith:
return "شروع شود با";
case RadGridStringId.GroupingPanelDefaultMessage:
return "برای گروهبندی ستونها، ستونی را به اینجا بکشید";
case RadGridStringId.GroupingPanelHeader:
return ":گروهبندی بر حسب";
case RadGridStringId.NoDataText:
return "داده ای برای نمایش وجود ندارد";
case RadGridStringId.UnpinRowMenuItem:
return "حالت پیش فرض";

default:
return base.GetLocalizedString(id);
}
}
}
}

MasoudAdmin
چهارشنبه 05 شهریور 1399, 16:33 عصر
با سلام
از کمکتون ممنون. ولی خیلی از شرایط را نمایش نمی دهد. مثلا کوچکتر، کوچکتر مساوی از، بزرگتر یا بزرگتر مساوی از.
برای نمایش دادن تعداد که ستونش گروه بندی شده است چگونه باید کار کنم؟
152073

M.sheaikhzadeh
پنج شنبه 06 شهریور 1399, 08:42 صبح
با سلام
از کمکتون ممنون. ولی خیلی از شرایط را نمایش نمی دهد. مثلا کوچکتر، کوچکتر مساوی از، بزرگتر یا بزرگتر مساوی از.
برای نمایش دادن تعداد که ستونش گروه بندی شده است چگونه باید کار کنم؟
152073

ببین با این کارت راه می افته ؟


radGridView1.Groups.Count.ToString()




چند تا چیز باحال دیگه هم پیدا کردم گفتم شاید به درد دوستان بخوره :لبخند:

1- افزودن فیلتر جستجو مثل برنامه اکسل توی سر ستون ها !

152074

هر جایی خواستید می تونید فعالش کنید یا اگه می خواهید همیشه باشه توی Form1_Load فرم کد زیر رو وارد کنید



this.radGridView1.MasterTemplate.ShowHeaderCellBut tons = true;



مورد بعدی رو خودم خیلی دنبالش گشتم ولی هر کاری کردم نشد :عصبانی++: آخر تصمیم گرفتم کلا بیخیال تلریک گرید بشم تا اینکه امروز همینجوری تصادفی پیداش کردم !

2- افزودن جمع ستون های به پایین جدول

152075

152076

3- افزودن شماره ردیف به جدول !

در قسمت رویداد های دیتاگرید تلریک در رویداد ViewCellFormatting کد های زیر را وارد کنید البته گزینه ShowRowHeader باید true باشد.
برای تنظیم عرض ستون هم از کد زیر میشه استفاده کرد.

152077



(radGridView1.TableElement as GridTableElement).RowHeaderColumnWidth = 60;




private void radGridView1_ViewCellFormatting(object sender, CellFormattingEventArgs e)
{
this.radGridView1.TableElement.CurrentRowHeaderIma ge = null;
if (e.CellElement is GridRowHeaderCellElement && e.Row is GridViewDataRowInfo)
{
GridDataView dataView = this.radGridView1.MasterTemplate.DataView as GridDataView;
e.CellElement.Text = (dataView.Indexer.Items.IndexOf(e.Row) + 1).ToString();
}
else
{
e.CellElement.ResetValue(LightVisualElement.TextIm ageRelationProperty, ValueResetFlags.Local);
}
}

MasoudAdmin
پنج شنبه 06 شهریور 1399, 10:59 صبح
با سلام و سپاس فراوان.
بابت کد مقدار گروه بندی radGridView1.Groups.Count.ToString()
اینو باید تو کدوم رویداد انجام بدم؟ چون همینجوری که استفاده کردم جوابی نداد. یا باید کدوم خاصیت رو فعال کنم که نمایش بده؟:متفکر:
بابت شرایط که بعضی از شرایط هم نمایش نمی ده چیکار کنم؟ مثلا کوچکتر از یا بزرگتر از.:افسرده:

M.sheaikhzadeh
پنج شنبه 06 شهریور 1399, 11:43 صبح
با سلام و سپاس فراوان.
بابت کد مقدار گروه بندی radGridView1.Groups.Count.ToString()
اینو باید تو کدوم رویداد انجام بدم؟ چون همینجوری که استفاده کردم جوابی نداد. یا باید کدوم خاصیت رو فعال کنم که نمایش بده؟:متفکر:
بابت شرایط که بعضی از شرایط هم نمایش نمی ده چیکار کنم؟ مثلا کوچکتر از یا بزرگتر از.:افسرده:

ساده ترین حالت اینه یه لیبل بزاری تو فرمت کنار یا بالای جدول بعد توی رویداد GroupByChanging مقدار تکست رو برابر با مقدار پایین بزاری برای شرایط هم دارم دنبالش میگردم فعلا با همینها کار کن ! :لبخند:

152080



private void radGridView1_GroupByChanging(object sender, GridViewCollectionChangingEventArgs e)
{
label1.Text = "تعداد اعضاء :" + radGridView1.Groups.Count.ToString();
}

MasoudAdmin
پنج شنبه 06 شهریور 1399, 18:32 عصر
با سلام.
ممنون.
بابت شرایط که بعضی موارد رو نداره چکار کنم؟ مثلا کوچکتر از یا بزرگتر از؟

M.sheaikhzadeh
چهارشنبه 12 شهریور 1399, 11:47 صبح
یافتم ! :تشویق:

برای فعال سازی سایر شرایط فقط باید نوع داده رو توی DataTable مشخص کنی !

مثلا DataTable زیر رو در نظر بگیر :

private DataTable GetData()
{
DataTable dt = new DataTable();
dt.Columns.Add("Id", typeof(int));
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("Date", typeof(DateTime));
dt.Columns.Add("Description", typeof(string));
for (int i = 0; i < 10000; i++)
{
dt.Rows.Add(i, "Name " + i, DateTime.Now.AddDays(i), "Description " + i);
}
return dt;
}


خب ؟
خروجیش میشه مثل تصویر مقابل:


152106

اگه دقت کنی توی سطر هایی که نوع int یا DateTime مشخص کردیم شرایط اضافی داریم در سایر ستون ها فقط شرایط عادی نشون داده میشه چون نوعشون String هست !



dt.Columns.Add("Id", typeof(int));
dt.Columns.Add("Date", typeof(DateTime));



dt.Columns.Add("Name", typeof(string));
for (int i = 0; i < 10000; i++)
{
dt.Rows.Add(i, "Name " + i, DateTime.Now.AddDays(i), "Description " + i);
}



یعنی کافیه بعد از تعریف سطر نوعش برابر INT یا DATETIME تعریف کنی !

امیدوارم منظورم رو رسونده باشم. https://barnamenevis.org/images/smilies/yahoo/109.gif

MasoudAdmin
چهارشنبه 12 شهریور 1399, 22:34 عصر
با سلام. سپاس.

M.sheaikhzadeh
پنج شنبه 13 شهریور 1399, 12:33 عصر
با عرض سلام و خسته نباشید به اساتید سایت D:
یه برنامه حسابداری دارم می نویسم اما چند تا مشکل دارم
1- جدا کردن ستون مبلغ قابل پرداخت و مانده باز فاکتور توی دیتاگرید تلریک به صورت (1,000,000,000) راه حل اصولی به چه صورته؟
البته باید این نکته رو در نظر داشته باشیم که موقع فیلتر یا جستجو هم به صورت صحیح عمل کنه
تا حالا چند روش به صورت های زیر امتحان کردم ولی نتیجه نگرفتم :(
Data Tabel رو به صورت زیر تعریف کردم با روش Linq


152122



var db = new linqDataContext();
var sell = (from a in db.Sell2s
where Convert.ToInt32(a.InvoiceDate.ToString().Replace("/", "")) >= Convert.ToInt32(lbl_date1.Text.ToString().Replace("/", "")) && Convert.ToInt32(a.InvoiceDate.ToString().Replace("/", "")) <= Convert.ToInt32(lbl_date2.Text.ToString().Replace("/", "")) && a.FiscalYearYear == "1399"
orderby a.InvoiceNo
select new
{
InvoiceNo = a.InvoiceNo,
InvoiceDate = a.InvoiceDate,
CustomerCode = a.CustomerCode,
CustomerName = a.CustomerName,
SalesmanCode = a.SalesmanCode,
SalesmanName = a.SalesmanName,
Comment = a.Comment,
PayableAmount = a.PayableAmount,
RemainAmount = a.RemainAmount,
AppUserName = a.AppUserName,
ModifiedDate = a.ModifiedDate
});

DataTable dt = new DataTable();
dt.Columns.Add("شماره فاکتور", typeof(int));
dt.Columns.Add("تاریخ فاکتور");
dt.Columns.Add("کد مشتری");
dt.Columns.Add("مشتری");
dt.Columns.Add("کد فروشنده");
dt.Columns.Add("فروشنده");
dt.Columns.Add("توضیحات");
dt.Columns.Add("مبلغ قابل پرداخت", typeof(int));
dt.Columns.Add("مانده باز فاکتور", typeof(int));
dt.Columns.Add("کاربر");
dt.Columns.Add("تاریخ تغییر");
foreach (var item in sell)
{
var row = dt.NewRow();
row[("شماره فاکتور")] = Convert.ToUInt64(item.InvoiceNo);
row[("تاریخ فاکتور")] = item.InvoiceDate;
row[("کد مشتری")] = item.CustomerCode;
row[("مشتری")] = item.CustomerName;
row[("کد فروشنده")] = item.SalesmanCode;
row[("فروشنده")] = item.SalesmanName;
row[("توضیحات")] = item.Comment;
row[("مبلغ قابل پرداخت")] = Convert.ToUInt64(item.PayableAmount);
if (item.RemainAmount.ToString() == "0.0000")
{
row[("مانده باز فاکتور")] = "0";
}
else
{
row[("مانده باز فاکتور")] = Convert.ToUInt64(item.RemainAmount);
}
row[("کاربر")] = item.AppUserName;
var m = item.ModifiedDate.ToString();
m = m.ToString().Substring(0, 19);
PersianCalendar p = new PersianCalendar();
DateTime dmiladi = new DateTime();
dmiladi = Convert.ToDateTime(m);
m = p.GetHour(dmiladi).ToString() + ":" + p.GetMinute(dmiladi).ToString() + ":" + p.GetSecond(dmiladi).ToString() + " - " + p.GetYear(dmiladi).ToString() + "/" + p.GetMonth(dmiladi).ToString() + "/" + p.GetDayOfMonth(dmiladi).ToString();
row[("تاریخ تغییر")] = m;
dt.Rows.Add(row);
}
radGridView1.DataSource = dt;


موقع تعریف سطر ها از FormatString به صورت زیر استفاده کنم




row[("مبلغ قابل پرداخت")] = Convert.ToUInt64(item.PayableAmount).ToString("##,###")


که در این صورت چون نوع ستون int تعریف شده (به خاطر فیلتر های خاص : بزرگتر ، کوچکتر ، بزرگتر مساوی ، کوچکتر مساویکه فقط در صورتی فعال می شوند که نوع ستون int تعریف شده باشه ) خطا کامپایل میده

152121
ارسال اعداد به textbox که اعداد رو به صورت سه رقم جدا میکنه بعد وارد کردن به جدول



#region Number Seperator
public string textWithcomma
{
get;
set;
}
public string textWithoutcomma
{
get;
set;
}
public string skipComma(string str)
{
string[] ss = null;
string strnew = "";
if (str == "")
{
strnew = "0";
}
else
{
ss = str.Split(',');
for (int i = 0; i < ss.Length; i++)
{
strnew += ss[i];
}
}
return strnew;
}
#endregion

private void txt_temp_TextChanged(object sender, EventArgs e)
{
if (txt_temp.Text == "")
{
txt_temp.Text = null;
textWithcomma = "0";
textWithoutcomma = "0";
}
else
{
if (txt_temp.Text != "")
{
double d = Convert.ToDouble(skipComma(txt_temp.Text));
txt_temp.Text = d.ToString("#,#", System.Globalization.CultureInfo.InvariantCulture) ;
textWithcomma = txt_temp.Text;
textWithoutcomma = skipComma(txt_temp.Text);
}
}
txt_temp.Select(txt_temp.Text.Length, 0);

}

txt_temp.Text = item.InvoiceDate.ToString();
row[("مبلغ قابل پرداخت")] = txt_temp.Text;


که در اینصورت هم خطا کامپایل میده اگه نوع ستون رو مشخص نکنم میاره اما موقع فیلتر
مثلا اگه بخوام فاکتور که مبلغ 6600000 ریال هست پیدا کنم باید دقیقا بنویسم 6,600,000 تا بیاد !
در کل یه چیزی مثل تصویر زیر می خوام توی تلریک (تصویر مربوط به کامپوننت GridEx هست )

152124

MasoudAdmin
پنج شنبه 13 شهریور 1399, 22:49 عصر
سلام
واسه Telerik ببینید این لینک کمکی میکنه؟
https://docs.telerik.com/kendo-ui/globalization/intl/numberformatting

kendo.toString(12345678, "##,#") -> 12,345,678(en-US)

M.sheaikhzadeh
جمعه 14 شهریور 1399, 13:18 عصر
درود !
با این حل شد!

radGridView1.Columns[7].FormatString = "{0:###,###}";


در ضمن برای سطر مجموع ستون ها که به صورت پیشفرض آخرین سطر جدول میاد (مثلا اگه 5000 سطر داشته باشیم برای مشاهده مجموع باید تا آخر اسکرول کنیم :متعجب: ) این کد رو میشه استفاده کرد تا همیشه پایین صفحه پین بشه :تشویق:


radGridView1.MasterTemplate.BottomPinnedRowsMode = GridViewBottomPinnedRowsMode.Fixed;
this.radGridView1.MasterView.SummaryRows[0].PinPosition = PinnedRowPosition.Bottom;


البته باید حتما کلاس Telerik.WinControls.UI رو چک کنیم که به برنامه اضافه شده باشه



using Telerik.WinControls.UI;