سؤال

وأستخدمه DataGrid قابلة للمع عدة أعمدة من البيانات (الذي يطلق عليه myDG) واحدة من هذه الأعمدة هي التاريخ والوقت منضم إلى مصدر بيانات. قيمتها تعتمد على "وظيفة" وجوه استكمال وظيفة وتكليف قيمة التاريخ والوقت. منذ هذا يستغرق عادة ما يصل إلى دقيقة يتم ترك قيمة غير مخصص في البداية.

وتعريف asp.net العمود هو:

<asp:boundcolumn 
  DataField="CompletedDate" 
  HeaderText="Date Completed" 
  DataFormatString="{0:dd-MMM-yyyy <br> hh:mm:ss tt}" />

وهكذا وظيفة يعمل بشكل جيد عند اكتمال "المهمة" ويقوم بتعيين الوقت. ولكن قبل ذلك، في حين يتم عرض الصف، كما أنه يظهر

و01 يناير 0001 00:00:00

وأنا الرغبة في إخفاء هذا وقرر أن أفضل طريقة ستكون لإخفاء هذا الصف والعمود خاص مع فارغة، أو تجاوز قيمة مؤقتا. أواجه مشاكل القيام بذلك، وإيجاد وسيلة للوصول إلى الصفوف والأعمدة محددة.

وهذه هي [3] عمود في DataGrid ودائما في الصف الأول (منذ يتم إضافة صفوف جديدة في الأعلى).

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

و-بفضل مقدما!

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

المحلول

ولقد فعلت أشياء مماثلة في الماضي، وهذا ما فعلت.

وربط البيانات إلى عمود غير مرئي على الإطلاق. إضافة عمود المرئي للبيانات التي ترغب في عرضها. في الوقت الذي نشر الشبكة الخاصة بك، حلقة خلال السجلات ولأي التي لها قيمة غير 01 يناير 0001 12:00:00، تعيين الصف مرئية لتلك القيمة. إذا فعلت ذلك على قدم المساواة 01 يناير 0001 12:00:00، ثم قم بتعيين قيمة الصف مرئية لسلسلة فارغة أو بعض قيمة من اختيارك. (هل يمكن حتى تعيين لون النص إلى نفس لون الخلفية لذلك لن تظهر للمستخدم)

نصائح أخرى

وأنا ربما ربط OnItemDataBound، والتحقق من القيمة، واستبدال / إعادة تهيئة إذا لزم الأمر.

وسألت سؤال مماثل حول إخفاء الأعمدة <لأ href = "https://stackoverflow.com/questions/416861/asp-net-gridview-value-set-to-null-when-column-is-not- مرئية "> هنا .

واضطررت الى استخدام الحدث RowCreated لإخفاء بعض أعمدة من المستخدم (الأعمدة PK) وهذا قد تساعدك على الخروج، وكذلك (وخاصة مع إخفاء الأعمدة ربط بيانات).

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