مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

imanizadeh

عضویت از 1394/01/13

مشکل با GridView

  • یکشنبه 14 تیر 1394
  • 19:32
تشکر میکنم

با عرض سلام 

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

 <asp:TemplateField HeaderText="عنوان">
  <ItemTemplate>
   <span><%#Eval("Products_Titel") %></span>
  </ItemTemplate>
 </asp:TemplateField>

توی این حالت اطلاعات رو به همون صورت کد شده که توی بانک هست نشون میده ولی من میخوام موقع نماش از تابعی که برای Decode نوشتم استفاده کنم  ولی هر چقدر تلاش کردم نتونستم.

کد زیر Error ایجاد میکنه میخوام از حالتی شبیه به این استفاده کنم یعنی قبل از نشون دادن اطلاعات اون رو Decode کنم و بعد نشون بدم

<asp:TemplateField HeaderText="عنوان">
<ItemTemplate>
 <span><%#Eval("Products_Titel") %></span>
   <span><%#   MyDll.Decode(  Eval("Products_Titel") %</span>
  </ItemTemplate>
 </asp:TemplateField>

اگر دوستان کمک کنند واقعا ممنون میشم

 

پاسخ های این پرسش

تعداد پاسخ ها : 4 پاسخ
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • دوشنبه 15 تیر 1394
  • 08:59

میتونید قبل از Bind کردن به گرید اطلاعات را Decode کنید

یعنی اول داخل لیستی قراربدید و Decode کنید و سپس یه گرید Bind کنید

کاربر سایت

imanizadeh

عضویت از 1394/01/13

  • دوشنبه 15 تیر 1394
  • 09:31

جناب مهندس من توی لایه دوم یه تابع دارم که اطلاعات رو از بانک میخونه و به صورت یک DataSet برمیگردونه و توی لایه سوم از کد زیر برای Bind کردن استفاده میکنم 

 

DataView dv = new DataView();
dv = Tbl_Products.SelectAll().Tables[0].DefaultView;
GridGaranty.DataSource = dv;
GridGaranty.DataBind();

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

ممنون میشم از لطفتون 

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • دوشنبه 15 تیر 1394
  • 09:37

شما قبل از

GridGaranty.DataSource = dv;

میتونید با استفاده از یک حلقه DataView را به روز رسانی کنید و اطلاعات فیلد مورد نظر را Decode کنید

foreach (DataGridViewRow row in this.dataGridView1.Rows)
{                            
    foreach (DataGridViewCell cell in row.Cells)
    {
        if (!cell.Size.IsEmpty) MessageBox.Show(cell.Value.ToString()); // note the ! operator
    }
}

 

کاربر سایت

imanizadeh

عضویت از 1394/01/13

  • دوشنبه 15 تیر 1394
  • 10:08

جناب مهندس نوع  DataGridViewRow  رو نمیشناخت بجاش از GridViewRow استفاده کردم ولی DataGridViewCell رو نمیشناسنه و هر چقد تلاش کردم چیزی شبیه به این رو پیدا نکردم میشه لطف بفرمایید راهنمایی کنید ، ممنون میشم از لطفتون

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)