ورود

View Full Version : مشکل صدا زدن datagrid



mahlake
شنبه 21 آذر 1394, 12:57 عصر
با عرض سلام و خسته نباشید خدمت همه مهندسین عزیز...
بنده یک پروژه wpf درست کرده ام و یک اسم به datagrid ام داده ام اما وقتی نام آن را میخواهم در رویداد کلیک دکمه ام صدا بزنم آن را نمیشناسد...
میخواستم بدانم مشکل از کوجاست و چطور میتوانم آن را حل کنم...
پیشاپیش از همکاری شما کمال تشکر را دارم...

نمونه کد xml:

<Window x:Class="edithamkar.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="317.158" Width="509.368">
<Grid>
<Button x:Name="Button" Content="شروع کن" HorizontalAlignment="Left" VerticalAlignment="Top" Width="120" Margin="199,19,0,0" Height="38" Click="Button_Click"/>
<DataGrid x:Name="testgridname" HorizontalAlignment="Left" VerticalAlignment="Top" Height="178" Width="254" Margin="125,72,0,0"/>
</Grid>
</Window>


نمونه کد بخش source :

using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;



namespace edithamkar
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}


private void Button_Click(object sender, RoutedEventArgs e)
{
testgridname



}
}
}

cmsdqq2
شنبه 21 آذر 1394, 14:32 عصر
فرضا کلیک هم کردین، چی بشه؟

دیتا گرید نشون داده بشه؟ مخفی بشه؟ پر بشه؟

کدوم؟

mahlake
شنبه 21 آذر 1394, 15:06 عصر
قبل از هر چیز از وقتی که برای بنده میگذارید متشکرم...

میخوام یه کد سرچ بنویسم که توی دیتاگرید نمایش بده اما نمیتونم...:افسرده::افسرده::اف سرده:

cmsdqq2
شنبه 21 آذر 1394, 15:41 عصر
خواهش میکنم

این کد سرچ هست




private void Search()
{




try
{
OleDbConnection con = new OleDbConnection(strconnection);
string strSearch = string.Format("SELECT * FROM tbcomisiun where shomare like '{0}%' or id like '{0}%' or ranandename like '{0}' or darsad like '{0}' or keraye like '{0}%' or tarikh like '{0}%' or dt1 like '{0}%' or dt2 like '{0}%' ", txtSearch.Text);
OleDbCommand com = new OleDbCommand(strSearch, con);
OleDbDataAdapter adapter = new OleDbDataAdapter(com);
DataSet ds = new DataSet();
adapter.Fill(ds, "tbcomisiun");
DataTable dtContact = ds.Tables[0];


if (con.State != ConnectionState.Open)
{
con.Open();
}


dataGridView1.DataContext = dtContact;


if (con.State != ConnectionState.Closed)
{
con.Close();
}





}
catch (Exception ex)
{
MessageBox.Show("برنامه قادر به برقراری ارتباط با بانک اطلاعاتی نمی باشد" + ex.Message.ToString(), "خطا", MessageBoxButton.OK, MessageBoxImage.Error);
}



}


یادتون باشه، درنهایت تابع Search() رو در دکمه ای که میخواین صدا بزنین

mahlake
شنبه 21 آذر 1394, 16:42 عصر
فرضا کلیک هم کردین، چی بشه؟

دیتا گرید نشون داده بشه؟ مخفی بشه؟ پر بشه؟

کدوم؟


قبل از هر چیز از وقتی که برای بنده میگذارید متشکرم...

میخوام یه کد سرچ بنویسم که توی دیتاگرید نمایش بده اما نمیتونم...:افسرده::افسرده:

mahlake
شنبه 21 آذر 1394, 16:56 عصر
خواهش میکنم

این کد سرچ هست




private void Search()
{




try
{
OleDbConnection con = new OleDbConnection(strconnection);
string strSearch = string.Format("SELECT * FROM tbcomisiun where shomare like '{0}%' or id like '{0}%' or ranandename like '{0}' or darsad like '{0}' or keraye like '{0}%' or tarikh like '{0}%' or dt1 like '{0}%' or dt2 like '{0}%' ", txtSearch.Text);
OleDbCommand com = new OleDbCommand(strSearch, con);
OleDbDataAdapter adapter = new OleDbDataAdapter(com);
DataSet ds = new DataSet();
adapter.Fill(ds, "tbcomisiun");
DataTable dtContact = ds.Tables[0];


if (con.State != ConnectionState.Open)
{
con.Open();
}


dataGridView1.DataContext = dtContact;


if (con.State != ConnectionState.Closed)
{
con.Close();
}





}
catch (Exception ex)
{
MessageBox.Show("برنامه قادر به برقراری ارتباط با بانک اطلاعاتی نمی باشد" + ex.Message.ToString(), "خطا", MessageBoxButton.OK, MessageBoxImage.Error);
}



}


یادتون باشه، درنهایت تابع Search() رو در دکمه ای که میخواین صدا بزنین


سلام موضوع اینه که این اصلا دیتاگرید ویو رو نمیشناسه که من این کد رو بزنم... مثلا هر شیئی که میسازم و بهش اسم میدم رو نمیتونم اونور تو کدم صدا بزنم اصلا نمیاره اونو

cmsdqq2
شنبه 21 آذر 1394, 17:11 عصر
لطفا خود برنامه رو ضمیمه کنید تا من ببینم

mahlake
شنبه 21 آذر 1394, 17:53 عصر
لطفا خود برنامه رو ضمیمه کنید تا من ببینم

http://s3.picofile.com/file/8227725792/edithamkar.zip.html

cmsdqq2
شنبه 21 آذر 1394, 18:50 عصر
این رو من گذاشتم براتون

http://up.vbiran.ir/uploads/42795144993658442981_edithamkar.zip

mahlake
شنبه 21 آذر 1394, 22:12 عصر
این رو من گذاشتم براتون

http://up.vbiran.ir/uploads/42795144993658442981_edithamkar.zip

با تشکر از لطف شما...
اما من هنوز توی سیستمم با این ۲ خطا مواجه میشم حتی توی پروژه اصلاح شده از طرف شما..

Error 1 The name 'InitializeComponent' does not exist in the current context C:\Users\Administrator\Downloads\42795144993658442 981_edithamkar\edithamkar\edithamkar\edithamkar\Ma inWindow.xaml.cs 29 13 edithamkar

و خطای دوم

Error 2 The name 'dataGridView1' does not exist in the current context C:\Users\Administrator\Downloads\42795144993658442 981_edithamkar\edithamkar\edithamkar\edithamkar\Ma inWindow.xaml.cs 63 21 edithamkar



واقعا گیر کردم دلیل این خطا از کوجاست؟:عصبانی++::عصبانی++::ع بانی++::عصبانی++::گریه::گریه:: ریه::گریه:

cmsdqq2
یک شنبه 22 آذر 1394, 19:21 عصر
در app.config، بخش connection string رو پاک کنید، درست میشه

اگر هم مثال های دیگه خواستین، تو اینترنت هم سایت های فارسی و هم انگلیسی، مثالهای خیلی زیادی در مورد درج، ویرایش، حذف و سرچ در دیتاگریدی که اطلاعات رو از بانک لود میکنه، گذاشتن. پیشنهاد میکنم حتماً نگاهی دقیق بندازید.