باسلام خدمت دوستان
قصد دارم دیتا گرید تو در تو درست کنم
مثلا لیست کشورهارو تو یه دیتا گرید داریم
وقتی روی یه ردیف سلکت کردیم یه دیتاگرید زیر همون ردیف باز بشه و لیست استان های اون کشور رو بیاره
و وقتی روی استانی سلکت کردیم لیست شهر های اون استان زیرش بیاد
الان من میخوام تو پروژه خودم اینکار رو بکنم
ولی با منطقه و محدوده و محله
<DockPanel HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="0,73,0,100">
<DataGrid x:Name="dgMantaghe" Background="Azure" FlowDirection="RightToLeft" AutoGenerateColumns="False" IsReadOnly="True" Margin="0,50,0,0" CanUserAddRows="False" EnableRowVirtualization="true">
<DataGrid.Columns>
<DataGridTextColumn x:Name="MantagheIDColumn" Header="کد منطقه" Binding="{Binding MantagheID}" />
<DataGridTextColumn x:Name="MantagheColumn" Header="منطقه" Binding="{Binding Mantaghe}" />
<DataGridTextColumn x:Name="MantagheTozihColumn" Header="توضیحات منطقه" Binding="{Binding MantagheTozih}" />
<DataGridTextColumn x:Name="MantagheWebColumn" Header="وب سایت" Binding="{Binding MantagheWeb}" />
<DataGridTextColumn x:Name="MantagheEmailColumn" Header="ایمیل" Binding="{Binding MantagheEmail}" />
<DataGridTextColumn x:Name="MantagheTelColumn" Header="تلفن های تماس" Binding="{Binding MantagheTel}" />
<DataGridTextColumn x:Name="MantagheFaxColumn" Header="فکس" Binding="{Binding MantagheFax}" />
<DataGridTextColumn x:Name="MantagheAddressColumn" Header="آدرس" Binding="{Binding MantagheAddress}" />
<DataGridTextColumn x:Name="UserFamiliColumn" Header="کاربر ثبت کننده" Binding="{Binding UserFamili}" />
</DataGrid.Columns>
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<DataGrid x:Name="dgMahdode" Background="Azure" FlowDirection="RightToLeft" AutoGenerateColumns="False" IsReadOnly="True" Margin="0,50,0,0" CanUserAddRows="False" EnableRowVirtualization="true">
<DataGrid.Columns>
<DataGridTextColumn x:Name="MahdodeIDColumn" Header="کد محدوده" Binding="{Binding MahdodeID}" />
<DataGridTextColumn x:Name="MahdodeColumn" Header="محدوده" Binding="{Binding Mahdode}" />
</DataGrid.Columns>
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<DataGrid x:Name="dgMahal" Background="Azure" FlowDirection="RightToLeft" AutoGenerateColumns="False" IsReadOnly="True" Margin="0,50,0,0" CanUserAddRows="False" EnableRowVirtualization="true">
<DataGrid.Columns>
<DataGridTextColumn x:Name="MahalIDColumn" Header="کد محل" Binding="{Binding MahalID}" />
<DataGridTextColumn x:Name="MahalColumn" Header="محل" Binding="{Binding Mahal}" />
</DataGrid.Columns>
</DataGrid>
</DataTemplate>
</DataGrid.RowDetailsTemplate>
</DataGrid>
</DataTemplate>
</DataGrid.RowDetailsTemplate>
</DataGrid>
</DockPanel>
حالا خود دیتا گرید درست وقتی روی یه ردیف کلیک میکنم دیتاگرید دوم زیرش باز میشه ولی آیتم سورس دیتاگرید دوم رو نمیتونم پور کنم چون اسم دیتاگرید رو تو صفحه xaml.cs نمیشناسه و نمیتونم براش سورس تعریف کنم
سورس دیتاگرید اول رو هم که طبق آموزش با کد زیر پرمیکنم
private void ShowInfo(Func<string> SearchString)
{
var query = DbDatabase.Database.SqlQuery<ViewMantaghe>("SELECT * FROM ViewMantaghe Where 1=1 " + SearchString());
var q = query.ToList();
dgMantaghe.ItemsSource = q;
}
برای هر سه موارد منطقه و محدود و محل فرم های جداگانه و دیتاگرید های جدا دارم میخوام اگه بشه مثل درختواره زیر هم هم بیان
الان باید چیکار کنم
دوستان کسی راه کاروپیشنهادی ندارید؟
بنظرم بهتره از کمبوباکس در سلولهای DataGrid در Wpf استفاده کنید. چون دیتاگرید تو در تو زیاد منطقی نیست.
مثلا لیست استانها رو دارید در یک جدول. یک ستون به نام شهرها ایجاد کنید که محتویاتش یک کمبوباکس هست شامل شهرهای اون استان. پیاده سازی این مکانیزم خیلی ساده تره تا ۲ تا datagrid تو درتو
توی گوگل این سرچ رو کنید
تاریخ :
1402/09/08
- ساعت :
07:34:00 PM
- بازدید :
1160
- پاسخ :
1
|
تاریخ :
1402/09/21
- ساعت :
11:10:00 PM
- بازدید :
597
- پاسخ :
1
|
تاریخ :
1403/07/13
- ساعت :
12:06:00 PM
- بازدید :
349
- پاسخ :
1
|
تاریخ :
1403/06/24
- ساعت :
08:52:00 PM
- بازدید :
318
- پاسخ :
1
|
تاریخ :
1398/09/14
- ساعت :
01:58:00 PM
- بازدید :
4268
- پاسخ :
1
|
تاریخ :
1398/09/16
- ساعت :
11:41:00 AM
- بازدید :
4282
- پاسخ :
1
|
تاریخ :
1398/09/07
- ساعت :
02:15:00 PM
- بازدید :
3875
- پاسخ :
5
|
تاریخ :
1403/05/16
- ساعت :
05:43:00 AM
- بازدید :
661
- پاسخ :
0
|
تاریخ :
1398/09/05
- ساعت :
06:04:00 PM
- بازدید :
3172
- پاسخ :
2
|
تاریخ :
1398/09/08
- ساعت :
11:38:00 PM
- بازدید :
3251
- پاسخ :
1
|
تاریخ :
1401/02/24
- ساعت :
02:17:00 PM
- بازدید :
2008
- پاسخ :
1
|
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
75
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
109
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1033
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
429
- پاسخ :
1
|
تاریخ :
1402/08/01
- ساعت :
06:25:00 PM
- بازدید :
930
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1356
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4798
- پاسخ :
1
|
تاریخ :
1402/09/08
- ساعت :
07:34:00 PM
- بازدید :
1160
- پاسخ :
1
|
تاریخ :
1402/09/21
- ساعت :
11:10:00 PM
- بازدید :
597
- پاسخ :
1
|