دسته بندی ها
02:39 1399/02/16

خطای ریختن مقدار در دیتا گرید به روش انتیتی فریم ورک

مشخصات سوال کننده :
کاربر : aliCo     امتیاز کاربر : 0     رتبه کاربر : 7081
دسته بندی : WPF

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 2489
هوش مصنوعی

پاسخ هوش مصنوعی

برای حل خطای مرتبط با تنظیم DataGrid در WPF با استفاده از Entity Framework، مراحل زیر را دنبال کنید:

1. اطمینان حاصل کنید که نوع داده ای که به DataGrid متصل می کنید، با نوع داده هایی که در Entity Framework تعریف کرده اید، مطابقت دارد.

2. بررسی کنید که آیا مدل شما به درستی بارگذاری شده است و اطلاعات آن به درستی به DataGrid ارسال می شود. می توانید از دستور زیر برای بارگذاری داده ها استفاده کنید:

using (var context = new YourDbContext())
{
    var data = context.YourTable.ToList();
    yourDataGrid.ItemsSource = data;
}

3. همچنین اطمینان حاصل کنید که DataGrid شما در XAML به درستی تعریف شده است. یک تعریف ساده به صورت زیر است:

<DataGrid x:Name="yourDataGrid" AutoGenerateColumns="True"></DataGrid>

4. در نهایت، اگر خطای خاصی موجود است، پیام خطا را با دقت خوانده و به آن توجه کنید. ممکن است لازم باشد وضعیت داده ها یا تنظیمات مناسبی را انجام دهید.

در صورت لزوم، جزییات بیشتری از کد و تنظیمات خود را به اشتراک بگذارید تا بتوانیم بهتر کمک کنیم.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : Sowgandi 08:28 1399/02/17

سلام. 

از روش زیر استفاده کنید.


 var Query = (from q in db.tbl_sahamdaran select q).ToList();
DataGrid.ItemsSource = Query;

ویرایش شده در جمعه 19 اردیبهشت 1399 ساعت 14:10:59
به این پاسخ امتیاز بدهید    0
امتیاز: 876 رتبه: 3
پاسخ دهنده : Alireza 00:29 1399/02/27

سلام 

اول باید با یه کوئری اطلاعات دیتابیس رو فراخوانی کنی بعد بریزی تو دیتا گرید بعدشم توی دیزاین تک تک نام ستون هات رو توی دیتاگرید بایند کنی

 

توی لود فرمت این رو بنویس

​
var query = DB.Database.SqlQuery<tbl_sahamdaran>("Select * From tbl_sahamdaran");
            var q = query.ToList();
            DataGrid.ItemsSource = q;

​

توی دیزاین اینو بنویس

<DataGrid x:Name="DataGrid" AlternatingRowBackground="SeaShell" EnableRowVirtualization="true" IsReadOnly="True" Margin="0,60,0,100" FontFamily="B Koodak" FontSize="18.667" FlowDirection="RightToLeft" HorizontalGridLinesBrush="Gray" VerticalGridLinesBrush="Black" AutoGenerateColumns="False" Background="{x:Null}" IsHitTestVisible="True" AlternationCount="2" LoadingRow="dgServices_LoadingRow" BorderBrush="Black">
    <DataGrid.Columns>
        <DataGridTextColumn Header="کد" Binding="{Binding sahamdaranID}" Width="Auto">
            <DataGridTextColumn.HeaderStyle>
                <Style TargetType="{x:Type DataGridColumnHeader}">
                    <Setter Property="FontSize" Value="18.667"/>
                    <Setter Property="FontWeight" Value="Bold"/>
                    <Setter Property="HorizontalContentAlignment" Value="Center"/>
                </Style>
            </DataGridTextColumn.HeaderStyle>
            <DataGridTextColumn.ElementStyle>
                <Style TargetType="{x:Type TextBlock}">
                    <Setter Property="HorizontalAlignment" Value="Center"/>
                </Style>
            </DataGridTextColumn.ElementStyle>
        </DataGridTextColumn>
        <DataGridTextColumn Header="نام سهامدار" Binding="{Binding sahamdaranName}" Width="Auto">
            <DataGridTextColumn.HeaderStyle>
                <Style TargetType="{x:Type DataGridColumnHeader}">
                    <Setter Property="FontSize" Value="18.667"/>
                    <Setter Property="FontWeight" Value="Bold"/>
                    <Setter Property="HorizontalContentAlignment" Value="Center"/>
                </Style>
            </DataGridTextColumn.HeaderStyle>
            <DataGridTextColumn.ElementStyle>
                <Style TargetType="{x:Type TextBlock}">
                    <Setter Property="HorizontalAlignment" Value="Center"/>
                </Style>
            </DataGridTextColumn.ElementStyle>
        </DataGridTextColumn>
    </DataGrid.Columns>
</DataGrid>

اگه ستون دیگه ای داشتی واس هر کدوم توی دیزاین داخل دیتاگرید اضافه بکن

 

اگرم خواستی سرچ انجام بدی بگو کدهاشو برات بزارم

به این پاسخ امتیاز بدهید    0
امتیاز: 115 رتبه: 13
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود