مخفی کردن ستون دیتا گرید
من میخوام ستون های از دیتا گرید رو مخفی کنم نمایش ندم ولی بتونم از مقادیر داخل اون ها استفاده کنم
به هر شکلی هیدن می کنم نمیتونم به مقادیرش دسترسی داشته باشم
بهتر بود کدهایی که برای این کار رو نوشتید هم قرار بدید تا بدونیم چه کارهایی انجام دادید که نشده
اما یک راه حل کلی برای مخفی کردن ستون در DataGrid در WPF این هست :
- Header قرار ندید برای نام ستون. یعنی نام ستون خالی باشه
- مقدار Width رو برای ستون برابر با 0 قرار بدید
- مقدار Foreground رو برابر با White قرار بدید تا متن درون اون ستون با پس زمینه یک رنگ بشه و چیزی نمایش داده نشه
<DataGridTextColumn Binding="{Binding ProductId}" Width="0">
<DataGridTextColumn.HeaderStyle>
<Style TargetType="{x:Type DataGridColumnHeader}">
<Setter Property="FontFamily" Value="B Yekan"/>
<Setter Property="FontSize" Value="12"/>
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="HorizontalContentAlignment" Value="Center"/>
</Style>
</DataGridTextColumn.HeaderStyle>
<DataGridTextColumn.ElementStyle>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="Foreground" Value="White"/>
<Setter Property="FontFamily" Value="B Yekan"/>
<Setter Property="FontSize" Value="12"/>
<Setter Property="HorizontalAlignment" Value="Center"/>
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="VerticalAlignment" Value="Center"/>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
در کدهای بالا این کار انجام شده و ستون ProductID نمایش داده نمیشه. این لینک رو هم میتونید با توجه به کدهایی که نوشتید مطالعه کنید.
موفق باشید
سلام. دوست عزیز برای اینکه بتونید از مقدار ستون مخفی شده استفاده کنید باید به روش زیر عمل کنید.
فرض کنید نام دیتاگرید شما DataGrid_Users باشد و Table یا View که به دیتاگرید وصل شده برابر با Vw_Users باشد. در این حالت شما برای گرفتن مقدار ستون مخفی شده از کد زیر استفاده کنید. در این کد میخواهیم سن کاربران را بدست بیاریم.
var UserAge = (DataGrid_Users.SelectedItem as Vw_Users).Age;
در کد بالا هیچ فرقی نمیکنه که ستون شما مخفی باشه یا نباشه یا اصلا در دیتاگرید وجود داشته باشه یا نداشته باشه. چون این کد مقدار رو از دیتاسورس انتخاب شده بر مبنای ردیف انتخاب شده در دیتاگرید میگیره.
موفق باشید.
Sowgandi مرسی از پاسختون عالی بود
این سایت عالیه
فقط به نظرم چند تا مشکل داره از نظر من
اولا اینکه نمیشه روی پاسخی که داده شده نظر داد الان من میخوام برای پاسخ fateme نظر بدم یا بحثی کنم که این امکان وجود نداره همون ریپلای پیام در تلگرام (Reply Message)
دوم توو سوال قبلی که من داشتم اجازه نداد بیش از سه بار پاسخ بدم و من به جوابم نرسیدم و مجبور شدم بیخیال بشم این محدودیت هم فکر کنم درست نباشه
سوم من دیروز سوال فرستادم و کاربر fateme محبت کردن بلافاصله یه پاسخی دادن و من خواستم جواب ایشون رو بدم دوباره اجازه نداد و گفت باید 12 ساعت واسم این محدودیت هم چرایش برام سوال
ولی بازم میگم خیلی عالی هستش این سایت
با تشکر از شما vahdat
در مورد ریپلای کردن پاسخ بزودی این امکان فراهم خواهد شد.
در مورد سایر محدودیتهای سایت هم بررسی مجدد می کنیم
موفق باشید
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- نمایش صفحه در پنجره جدید با کلیک روی لینک (تگ a) در Asp
- افزودن مقادیر به صورت دستی به List دریافت شده از ریپازیتوری
- نحوه بزرگنمایی بخش خاصی از یک تصویر در WPF
- نحوه استفاده از رویداد SelectionChanged در WPF
- مشکل تاریخ شمسی در ویندوز 7 در WPF
- رفع خطای FileNotFoundException در Wpf
- کار با رویداد SelectedDateChanged در کامپوننت تاریخ شمسی در سی شارپ
- minimize و maximize کردن پنجره های wpf
- دانلود نرم افزار Material Design In XAML Toolkit
- نمایش عکس در DataGrid در Wpf
- حذف پروسیجر (Procedure) از مدل داده ای در Entity Framework
- اتصال دیتابیس اکسس به کریستال ریپوت