سؤال

أقوم بربط GridView باستخدام DataSource في asp.net، وأرغب في الحصول على بعض BoundFields المخفية حتى أتمكن من الوصول إلى تلك القيم في وظيفة RowDataBound الخاصة بي.ومع ذلك، عندما أقوم بتعيين Visible = "False" على BoundFields هذه، لا يتم تعيين القيم وتكون دائمًا فارغة في الدالة RowDataBound.

هل هناك طريقة للقيام بذلك؟لقد رأيت بعض الاقتراحات لضبط النمط في BoundField ليكون مخفيًا ولكن هذا لم ينجح معي أيضًا.من الناحية المثالية، لا أريد حتى إنشاء عمود في عرض الشبكة، أريد فقط إخفاء هذه القيم حتى أتمكن من الوصول إليها.شكرًا!

هل كانت مفيدة؟

المحلول

هل حاولت استخدام DataItem من GridViewRowEventArgs مرت إلى الخاص بك RowDataBound طريقة؟

يحب:

protected void MyGridView_OnRowDataBound(object sender, GridViewRowEventArgs e)
{
    if(e.Row.RowType == DataControlRowType.DataRow)
    {
        DataRowView rowView = (DataRowView)e.Row.DataItem;
        // do something with rowView["myHiddenField"]
    }
}

تحقق من MSDN هنا.

نصائح أخرى

غريب، كيف حالك تفعل ذلك؟أعلم أنني قمت بذلك قبل استخدام: giveacodicetagpre.

لذلك سأقترح عليك استخدام Datakey.

الثابتة والمتنقلة الرجوع هذا الرابط http://www.codeproject.com/kb/grid/data_presentation.aspx

على سبيل المثال: giveacodicetagpre.

datakeynames="EMP_ID، رمز"> giveacodicetagpre.

في Datarow Bound: giveacodicetagpre.

geetha

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top