PDA

View Full Version : چگونه متن خود را linqکوتاه کنیم



bitcob589
یک شنبه 09 بهمن 1390, 08:58 صبح
با سلام
چگونه متن خود را در linq کوتاه کنیم در نظر بگیرید این خط درباره سوال پرسیده است چند کلمه اول نشان داده شود و مابقی کلمات به صورت نقطه نشان داده شود و نحوه جدا کردن براساس فاصله بین کلمات باشد مثلا بگوییم فاصله 4 به بعد را به جای نشان دادن مابقی کلمات چند نقطه بگذار
(منظور فاصله کلمات space بین کلمات و به وسیله دکمه space (

amir3321
یک شنبه 09 بهمن 1390, 13:00 عصر
میتونی مثلا با این روش مشکل رو حل کنی یا اگه یکم حوصله داشته باشی تو خود کوئری مشکل رو حل کنی

var query = from p in db.part select p;
foreach(var qt in query )
{
qt.dwgno = qt.dwgno.Substring(0,4).ToString () + "..." ;
}

bitcob589
یک شنبه 09 بهمن 1390, 13:21 عصر
کد بالا 4 کلمه اول را نشان می دهد سوال این بود چگونه بعد از4 بار دکمهspace زدیم به جای مابقی جمله چند تا نقطه نشان دهد و ضمنا برای اطلاعاتی که در دیتابیس می خواهیم نشان بدهیم و جملات بزرگ هستند چنین کاری بکنیم

amir3321
یک شنبه 09 بهمن 1390, 14:10 عصر
من نفهمیدم هنگام واکشی این کار رو می خواهی انجام بدی یا هنگام ادیت و یا نمایش در گرید ویو لطفا مشخص کن کجا می خواهی این اتفاق بیفتد چون این که می گویی با زدن چها بار دکمه space مقدار یک سطر بزرگ trim شود فقط نیاز هنگام ادیت می باشد که باید اون در رویدادهای keypress و یا keydown اون کنترلی که می خواهی این اتفاق روش بیفتد مثل textbox انجام بدی ولی هنگام واکشی دیگه نیاز به زدن دکمه نداری قبل از اون می تونی انجامش بدهی داخل خود گرید ویو هم شما اگه عرض ستون کوچک کنید خودش این کار رو انجام می دهد برای نمونه در textbox می تونی از کد زیر استفاده کنی

int sp = 0;
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{

if (e.KeyCode == Keys.Space)
if (sp < 4) sp++;
else
{
textBox1.Text = textBox1.Text.Substring(0, 4) + "...";
sp = 0;
}


}