View Full Version : سوال: چگونه از DataGridView در WPF استفاده کنیم ؟
mohammad bayervand
پنج شنبه 19 مرداد 1391, 16:39 عصر
دوستان سلام
من تازه وارد دنیای wpf شدم .شاید سئوال براتون خنده دار باشد
ولی من نمیدونم بعضی از کنترل ها مثل DataGridView را که در محیط WPF غیر فعال شده اند چطوری استفاده کنم ؟
از دوستان درخواست راهنمایی کامل دارم !
عکس زیر گویای سئوال بنده میباشد :
90995
sia_2007
پنج شنبه 19 مرداد 1391, 18:07 عصر
بی خیال Visual Studio 2008 شو، جدی می گم، در ضمن قسمت های غیر فعال مال Windows Form هستن، تو می تونی یه Windows Form Host بندازی روی فرم WPF ات و سپس اونها فعال می شن
اما این خیلی کار جالبی نیست، یعنی Performance جالبی نداره، از NET 4. و Visual Studio 2010 استفاده کن
موفق باشی
mohammad bayervand
پنج شنبه 19 مرداد 1391, 18:36 عصر
عزیزم از راهنمایی که کردی کمال تشکر را دارم ولی
شما یک راه حل عنوان کردی بعدم فرمودی که کارایی جالبی نداره خوب راه حل با کارایی بهتر را هم ارائه کن خلاصمون کن
آخه به نظر ساده هم میاد . ولی یه Windows Form Host هم گذاشتم روش ولی اتفاقی نیافتاد
شاید هم من متوجه ندشم
یعنی منظورت اینه که راه حل بهتر استفاده vs2010 هستش یعنی تو این ورژن قضیه حله .
senaps
پنج شنبه 19 مرداد 1391, 19:22 عصر
دوست عزیز، فک کنم حرف اینه که شما داری از کنترل های دیتا گرید ویندوز فرم اشاره میگیری!!!یعنی اون قسمتی که اجازهي استفاده نداری، برا وین فرم هستش که شما اضاف کردی!!
گرید ویو هم فک کنم تو همون لیست کامن ها باشه!
mohammad bayervand
پنج شنبه 19 مرداد 1391, 19:41 عصر
عزیزان به طور خلاصه من یه چیزی یا موجودیتی یا ابزاری میخوام که که کار DataGridView را در WPF برام بکند
البته این سئوال را تعمیم میدهم به اکثر ابزار های محیط فرم که در محیط ویندوز غیر فعال هست.
خواهش میکنم راه حل را کمی تشریح کنید چون احساس میکنم این سئوال اکثر دوستانی است که علاقه مند به محیط WPF شده اند ولی در شروع راه قرار دارند.
sia_2007
پنج شنبه 19 مرداد 1391, 19:43 عصر
شما بیا روی VS 2010 و NET 4. همه چی حل می شه
این کار رو کن، اگه مشکلی بود بگو تا با هم حل کنیم.
موفق باشی
senaps
پنج شنبه 19 مرداد 1391, 23:22 عصر
عزیزان به طور خلاصه من یه چیزی یا موجودیتی یا ابزاری میخوام که که کار DataGridView را در WPF برام بکند
دوست عزیز.....
شما نمیتونید از کنترل های وین اپلیکیشن در حالت عادی استفاده کنین..... اون عکسی که گرفتید و ابزار ها غیر قابل انتخاب هستن، دلیلش اینه که اون ابزار ها مربوط به وین اپلیکیشن هستن که شما اضاف کردین به اونجا.....
۲ تا راه حل دارین:
۱- راه حل WPF ایش اینه که تو گرید یا هرجایی که میخواید استفاده کنین، بنویسید <DataGrid تا خودش یه گرید ویو براتون بذاره اونجا و بعد تنظیمش کنین!!!!
http://www.img4up.com/up2/00072410505192767812_thumb.jpg (http://www.img4up.com/viewer.php?file=00072410505192767812.jpg)
یا اینکه طبق عکس دوم من پیش برید!
http://www.img4up.com/up2/70037004240613019860_thumb.jpg (http://www.img4up.com/viewer.php?file=70037004240613019860.jpg)
sia_2007
جمعه 20 مرداد 1391, 09:56 صبح
دوست عزیزی که دارید راهنمایی می کنید، ایشون VS 2008 دارند، پس قطعا پروژه شون NET 4. نیست، WPF هم تا قبل از NET 4. اصلا Data Grid نداشت
senaps
جمعه 20 مرداد 1391, 10:57 صبح
دوست عزیزی که دارید راهنمایی می کنید، ایشون VS 2008 دارند، پس قطعا پروژه شون NET 4. نیست، WPF هم تا قبل از NET 4. اصلا Data Grid نداشت
یعنی ایشون نمیتونه دات نت رو نصب کنه؟؟
sia_2007
جمعه 20 مرداد 1391, 14:05 عصر
چرا، مسلما می تونه (: ، من منظورم این نبود
ولی VS 2008 فقط برنامه نویسی رو تا نهایت رو NET 3.5 SP1. پشتیبانی می کنه
mohammad bayervand
شنبه 04 شهریور 1391, 18:06 عصر
پس با این اوصاف
یا باید از نسخه 2010 استفاده کنم یا باید با کد نویسی در ایکس ام ال به مقصودم برسم
ولی یه سئوال برام ایجاد شده ؟
وقتی از طریق کد نویسی یک دیتا گرید ویو ایجادکردم و اونو توی فرم خودم نمیبینم چگونه چیدمان بقیه ابزار را روی فرم مرتب کنم. یا چگونه رو ظاهر اون و محل قرار گرفتنش و ... امثال اینا کنترل داشته باشم . نگو با کد نویسی که اونجوری خیلی سخت میشه ! نمیشه ؟
M.KH-SH
یک شنبه 05 شهریور 1391, 11:04 صبح
دوستان شرمنده بی مقدمه مییام
حالا یک datagrid به فرم اضافه شد
حالا چطور اطلاعات رو نمایش بدیم
در win app , web app با متد datasource این کار رو انجام میدادیم و بعد هم در web app در آخر data.bind رو میکردیم
اینجا به چه صورتی هست؟
hakim22
یک شنبه 05 شهریور 1391, 19:31 عصر
تا جایی که من میدونم Datagrid هم مثل بقیه کنترلهایی که نیست میشه به صورت دستی وخیلی راحت ( به نسبت Win form) ساخت
یک List بردارید و Style براش بسازید.
در ضمن شما میتوانید رو دات نت 3.5 هم Datagrid داشته باشید.
ار WPF toolkit استفاده کنید. از سایت Codeplex که مال خود مایکروسافته استفاده کنید.
مهدی فرزاد
دوشنبه 06 شهریور 1391, 07:43 صبح
دوستان شرمنده بی مقدمه مییام
حالا یک datagrid به فرم اضافه شد
حالا چطور اطلاعات رو نمایش بدیم
در win app , web app با متد datasource این کار رو انجام میدادیم و بعد هم در web app در آخر data.bind رو میکردیم
اینجا به چه صورتی هست؟
سلام
شما نیاز دارید که خاصیت ItemSource دیتا گرید رو به یک Collection که میتونه یک List یا یک ObservableCollection و ... متصل کنید.
که این عمل هم در code behind و هم در Xaml قابل انجام است (سرچ کنید)
و همچنین Column های اون رو به خاصیت های متناظر موجود در کالکشن Bind کنید مثل کد زیر
<DataGrid x:Name="dataGrid" Background="{x:Null}" AutoGenerateColumns="False" SelectionMode="Single" CanUserResizeRows="False" BorderBrush="{DynamicResource ButtonBorder}" Foreground="#FF1D1D1D" HorizontalGridLinesBrush="{StaticResource ButtonBorder}" VerticalGridLinesBrush="{StaticResource ButtonBorder}" VerticalContentAlignment="Center" ColumnHeaderStyle="{StaticResource DataGridColumnHeaderStyle1}" HeadersVisibility="Column" RowStyle="{StaticResource DataGridRowStyle1}" CellStyle="{StaticResource DataGridCellStyle1}" BorderThickness="1,1,1,0" Margin="0" RowHeight="23" FrozenColumnCount="1" Grid.Row="1" IsReadOnly="True" MaxHeight="441">
<DataGrid.Columns>
<DataGridTextColumn x:Name="dataGridTextColumn" IsReadOnly="True" Header="عنوان" Binding="{Binding Onvan}" MinWidth="120" FontFamily="/KartingSoft;component/Fonts/#B Homa" FontSize="13.333"/>
<DataGridTextColumn x:Name="dataGridTextColumn1" IsReadOnly="True" Header="تاریخ" Binding="{Binding Date, Converter={StaticResource DateConvertor}}" FontFamily="/KartingSoft;component/Fonts/#B Homa" MinWidth="120" FontSize="13.333"/>
<DataGridTextColumn x:Name="dataGridTextColumn2" IsReadOnly="True" Header="مبلغ دریافتی" Binding="{Binding Cost_D, Converter={StaticResource MonyConvertor}}" FontFamily="/KartingSoft;component/Fonts/#B Homa" MinWidth="120" FontSize="14.667"/>
<DataGridTextColumn x:Name="dataGridTextColumn3" IsReadOnly="True" Header="مبلغ پرداختی" Binding="{Binding Cost_P, Converter={StaticResource MonyConvertor}}" FontFamily="/KartingSoft;component/Fonts/#B Homa" MinWidth="120" FontSize="14.667"/>
</DataGrid.Columns>
</DataGrid>
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.