نمایش نتایج 1 تا 10 از 10

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

  1. #1

    سوال: چگونگی ساخت یک فیلد از ترکیب چند فیلد

    سلام
    من در دیتا بیسم سه ستون از نوع int دارم که میخوام در گزارشم این سه عدد بصورت یک فیلد رشته ای نمایش داده بشن.
    این سه فیلد روز و ماه و سال هستند و میخوام در گزارش بصورت روز/ماه/سال نمایش داده بشن.
    میشه این کارو کرد؟
    اگه میشه ممنون میشم بگین چطوری(خیلی کارم گیره)؟
    با تشکر.

  2. #2
    با Transact SQL هم می تونید اینکار رو انجام بدید...

    select Convert(varchar,year)+'/'+Convert(varchar,month)+'/'+Convert(varchar,day)

  3. #3
    این سه فیلد رو تبدیل به یک formulaField کنید و در گزارشتان استفاده نمائید .

  4. #4
    نقل قول نوشته شده توسط reza_rad مشاهده تاپیک
    با Transact SQL هم می تونید اینکار رو انجام بدید...

    select Convert(varchar,year)+'/'+Convert(varchar,month)+'/'+Convert(varchar,day)
    سلام
    متشکر از جوابهاتون.
    این کد رو باید کجا بنویسم؟
    ممنون.

  5. #5
    این کد رو باید کجا بنویسم؟
    می تونید نتیجه کوئری تون رو توی دیتاست بریزید و بعد این دیتاست رو به گزارش بایند کنید
    همچنین می تونید یک View بسازید و کوئری تون رو توی اون بنویسید و ...

    مثلا در حالت دیتاست کوئری شما می تونه کد بالا رو داشته باشه و بعنوان یک فیلد نتیجه اش رو برگردونه.

  6. #6
    نقل قول نوشته شده توسط reza_rad مشاهده تاپیک
    می تونید نتیجه کوئری تون رو توی دیتاست بریزید و بعد این دیتاست رو به گزارش بایند کنید
    همچنین می تونید یک View بسازید و کوئری تون رو توی اون بنویسید و ...

    مثلا در حالت دیتاست کوئری شما می تونه کد بالا رو داشته باشه و بعنوان یک فیلد نتیجه اش رو برگردونه.
    با اجرای این کوئری یک فیلد جدید در نتیجه کوئری بوجود میاد که اون فیلد جزو فیلدهای اصلی دیتابیس نیست حالا وقتی دیتاست رو به گزارش بایند میکنم اون فیلد جدید (تاریخ) رو نمایش نمیده ؟
    چطوری باید یه فیلد در گزارشم تعریف کنم که این فیل جدید رو نمایش بده ؟ من فقط میتونم فیلدهای اصلی دیتابیسم رو در گزارش تعریف کنم.
    ممنون

  7. #7
    شما حتی اگه با ویزارد هم دیتاست بسازی می تونی نتیجه کوئری رو بهش بدی و پرش کنی.
    حالا اگه سورس رو توی ریپورت به دیتاست بایند کنی فیلدهای دیتاست نشون داده میشه و می تونی انتخابشون کنی.

  8. #8
    من دیتاست رو با استفاده از کد به ریپورت بایند میکنم:

    string rstr="select serial, model, bankName, city, address, Convert(varchar,nyear)+'/'+Convert(varchar,nmonth)+'/'+Convert(varchar,nday) as tarikh from dastgah";
    DataSet rds = new DataSet();
    SqlDataAdapter rda = new SqlDataAdapter(rstr, sqlConnection1);
    rda.Fill(rds, "dastgah");

    CrystalReport1 cr = new CrystalReport1();
    cr.SetDataSource(rds);


    حالا با توجه به کوئری یک فیلد بنام tarikh تو دیتاست بوجود آمده . ولی در ریپورتم این فیلد tarikh رو نمایش نمیده .
    من باید چه نوع فیلدی رو در گزارشم تعریف کنم که این فیلد tarikhرو نمایش بده؟

  9. #9
    اگه با کد کار می کنی روش دیتاست یه کم اذیت می کنه...
    روش دیتاست برای موارد ویزاردی خوبه.
    برای شما توی این حالت همون FormulaFeild بهتر و راحتتره...
    توی ریپورتتون یه FormulaField جدید ایجاد کنید و توی قسمت فرمول سه تا قیلد رو با هم concat کنید...
    زیاد از کارکردن با فرمولا نترسید ظاهرا سخته اما خیلی راحتته.

  10. #10
    نقل قول نوشته شده توسط reza_rad مشاهده تاپیک
    اگه با کد کار می کنی روش دیتاست یه کم اذیت می کنه...
    روش دیتاست برای موارد ویزاردی خوبه.
    برای شما توی این حالت همون FormulaFeild بهتر و راحتتره...
    توی ریپورتتون یه FormulaField جدید ایجاد کنید و توی قسمت فرمول سه تا قیلد رو با هم concat کنید...
    زیاد از کارکردن با فرمولا نترسید ظاهرا سخته اما خیلی راحتته.
    ممنون
    با همون فرمول انجامش دادم مشکل حل شد.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •