تبلیغات :
خرید لپ تاپ استوک
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 2 از 2 اولاول 12
نمايش نتايج 11 به 20 از 20

نام تاپيک: سه سوال ساده از سی شارپ...

  1. #11
    اگه نباشه جاش خالی می مونه
    تاريخ عضويت
    Oct 2005
    پست ها
    350

    پيش فرض

    البته در شرایطی هم می خواهم در صورت وجود آن رشته در تکس باکس آن را حذف کنم؟؟؟
    ????????
    .
    .
    .
    .
    .
    اضافه و حجم موقت انجام میشود ولی ذخیره نمیشود و دفعه بعد که می آیید دوباره به نوعی reset میشود !
    دقیقا همین حالت است. البته کاملا مشخص است که اطلاعات وارد شده در دیتا گرید، در دیتا بیس اصلی ذخیره نمی شود چرا که من یک فیلد کلید اتونامبری دارم که می توانم اطلاعات آن را خودم آن هم تکراری وارد کنم

    بازم ممنون
    Last edited by ahmad_r; 14-10-2009 at 16:59.

  2. #12
    اگه نباشه جاش خالی می مونه
    تاريخ عضويت
    Oct 2005
    پست ها
    350

    پيش فرض

    یه سوال دیگه

    در برنامه ام از فرم های پدر و فرزند استفاده کرده ام و فرزند را به صورت Maximumsize و به صورت زیر باز می کنم
    PersonalInformation pi = new PersonalInformation(); mamnon
    pi.MdiParent = this; mamnon
    pi.Show(); mamnon


    اما همان طور که در تصویر می بینید در موقع باز شده (برای اولین بار) به شکل زیر باز می شود و کامل باز نمی شود.
    چرا؟؟؟؟؟؟

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]

  3. #13
    اگه نباشه جاش خالی می مونه
    تاريخ عضويت
    Oct 2005
    پست ها
    350

    پيش فرض

    یه سوال دیگه...

    به وسیله کد و در زمان اجرا اطلاعات دیتا بیسم را به listView اضافه می کنم به این ترتیب که اطلاعات نام و فامیل را به عنوان text هر آیتم Listview و کد هر شخص را به عنوان tooltip اضافه می کنم و مشکلی هم ندارم اما هنگامی که خصوصیت Sorting از listview را مثلا به Ascending تنظیم می کنم اطلاعات بعضی از tooltip ها را نمایش نمی دهد.
    اینم کدی که اطلاعات listview را اضافه می کند:
    dset تنظیم و وصل شده است
    for (int i = 0; i < dSet.Tables[0].Rows.Count; i++)
    {
    string Combain = dSet.Tables[0].Rows[i][2] + " " +dSet.Tables[0].Rows[i][1];
    ActiveForm.listView1.Items.Add(Combain);
    ActiveForm.listView1.Items[i].ToolTipText = dSet.Tables[0].Rows[i][0].ToString();
    }


    علت چیست؟؟؟؟؟؟

  4. #14
    اگه نباشه جاش خالی می مونه
    تاريخ عضويت
    Oct 2005
    پست ها
    350

    پيش فرض

    .
    .
    .
    ما را به جواب کاش فراموش نسازند؛
    برنامه نویسانی که اهل فن اند!!!

  5. #15
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

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

    اضافه و حجم موقت انجام میشود ولی ذخیره نمیشود
    باید فرمان Save را صراحتاً بدهید.
    اگر TypedDataSet و TypedDataAdapter دارید الز فرمان DataAdapterName.Update استفاده کنید.
    (درست مقابل DataAdapterName.Fill)

    تاپیک مرتبط:
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]

    اما همان طور که در تصویر می بینید در موقع باز شده (برای اولین بار) به شکل زیر باز می شود و کامل باز نمی شود.
    چرا؟؟؟؟؟؟
    همینطوری نمیتوانم بگویم مشکلتان گذاشت ...
    یا MaxSize تایین کرده اید یا Layout را در دستوری متوقف کرده اید ...
    اگر مشکلتان حل نشد کد دو فایل کد فرم دوم را آپلود کنید.

    به وسیله کد و در زمان اجرا اطلاعات دیتا بیسم را به listView اضافه می کنم به این ترتیب که اطلاعات نام و فامیل را به عنوان text هر آیتم Listview و کد هر شخص را به عنوان tooltip اضافه می کنم و مشکلی هم ندارم اما هنگامی که خصوصیت Sorting از listview را مثلا به Ascending تنظیم می کنم اطلاعات بعضی از tooltip ها را نمایش نمی دهد.
    کد شما کد پایداری نیست و به دلایل مختلف میتواند دچار مشکل شود، (از جمله همین مطلبی که بیان کردید و...)
    کد مناسبتر:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

  6. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


  7. #16
    اگه نباشه جاش خالی می مونه
    تاريخ عضويت
    Oct 2005
    پست ها
    350

    پيش فرض

    با کمک شما دوست عزیز به جواب سه سوال از چهار سوال مطرح شده توسط خودم رسیدم

    1ـ حذف کردن قسمتی از یک تکس باکس (مثلا حذف کلمه "علیرضا" از بین جمله "سلام علیرضا چطوری")

    string Part1, Part2, OldStr;
    OldStr = textBox9.Text;
    Part1 = OldStr.Substring(0, OldStr.IndexOf(chBox.Text));
    Part2 = OldStr.Substring(OldStr.IndexOf(chBox.Text) + chBox.Text.Length);
    textBox9.Text = Part1 + Part2;

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    2ـ برای مشکل عدم باز شدن کامل یک فرم در فرم مادر هم از خصوصیت WindowState به صورت کد استفاده کردم نه Property:

    PersonalInformation pi = new PersonalInformation();
    pi.MdiParent = this;
    pi.WindowState = FormWindowState.Maximized;
    pi.Show();

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    3ـ مشکل Sort کردن در ListView هم با استفاده از کد جنابعالی حل شد

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    (اینارو گفتم تا بتونم راحت تر از زحماتتون تشکر کنم چراکه همین جواب دادن های شما موجب دلگرمی ما میشه )
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    اما مشکل عدم ثبت اطلاعات بعد از تغییر یا اضافه کردن در دیتاگرید هنوز پابرجاست. شما فرمودید که از کد Update استفاده کنم. اما کجا و چطوری؟
    همان طوری که قبلا اشاره کردم، بنده یک DataTable را به DataSource دیتاگرید متصل کرده ام

    OleDbConnection myConn = new OleDbConnection(strDSN);
    OleDbDataAdapter myCmd = new OleDbDataAdapter(strSQL, myConn);
    myConn.Open();
    DataSet dtSet = new DataSet();
    myCmd.Fill(dtSet);
    DataTable dTable = dtSet.Tables[0];
    dataGridView1.DataSource = dTable;

    حال می خواهم بعد از تغییرات روی سطر و ستونهای دیتا گرید، تغییرات اعمال شود (AllowUserToAddRow و AllowUserToDeleteRow هم True می باشد) اما نمی دانم چطوری و کجا؟ آخه در ویبی 6 همین که این دو گزینه True بود دیگه همه کاری می کرد
    دستور DataAdapterName.Update را در کجا استفاده کنم؟ آیا منظورتون اینکه در کنار Fill استفاده کنم، در این صورت تغیری اعمال نشده است چرا که دستور Fill فقط یکبار آنهم در ابتدای اتصال به دیتا بیس استفاده شده است.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    و طبق معمول یک سوال جدید دیگه ('_')
    در این لیست ویویی که اطلاعات دیتا بیس قرار گرفته چگونه می توان براساس text سرچ کرد (در واقع تابع مخصوص این کارو می خوام (اگر دارد) و یا نحوه دسترسی به آیتمهای داخل ListView را بیان کنید می توان کد سرچ را نوشت)

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    بازم ممنون
    Last edited by ahmad_r; 23-10-2009 at 08:05.

  8. #17
    اگه نباشه جاش خالی می مونه
    تاريخ عضويت
    Oct 2005
    پست ها
    350

    پيش فرض

    پیلیز???????

  9. #18
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    اما مشکل عدم ثبت اطلاعات بعد از تغییر یا اضافه کردن در دیتاگرید هنوز پابرجاست. شما فرمودید که از کد Update استفاده کنم. اما کجا و چطوری؟
    همان طوری که قبلا اشاره کردم، بنده یک DataTable را به DataSource دیتاگرید متصل کرده ام

    حال می خواهم بعد از تغییرات روی سطر و ستونهای دیتا گرید، تغییرات اعمال شود (AllowUserToAddRow و AllowUserToDeleteRow هم True می باشد) اما نمی دانم چطوری و کجا؟ آخه در ویبی 6 همین که این دو گزینه True بود دیگه همه کاری می کرد
    دستور DataAdapterName.Update را در کجا استفاده کنم؟ آیا منظورتون اینکه در کنار Fill استفاده کنم، در این صورت تغیری اعمال نشده است چرا که دستور Fill فقط یکبار آنهم در ابتدای اتصال به دیتا بیس استفاده شده است.
    سیستم DataAdapter و DataSet و DataTable یک مکانیزم غیر متصل است.
    یعنی شما اول کل اطلاعات مورد نیاز برای نمایش را در RAM لود کرد و ویرایش و حذف و اضافه میکنید و در اخر تغییرات را مجدد در دیتابیس ذخیره میکنید.
    نتیجه این مکانیزم ان است که نیاز میشود دستور بارگذاری و ذخیره را خودتان باید بدهید.
    یعنی مثلاً برخلاف ADO که دکمه Save در ان معنی نداشته و خودکار با ناوبری سطرها اطلاعات ذخیره میشد در ADO.Net نیاز دارید دکمه Save داشته باشید و کاربر یا برنامه صراحتاً فرمان Save را بدهد.

    حالا این بارگذاری اولیه با متد DataAdapter.Fill انجام میشود و ذخیره سازی تغییرات هم با DataAdapter.Update انجام میشود.
    Fill نیاز به یک SQL-SELECT دارد ولی Update نیاز به سه دستور SQL-INSERT و SQL-DELETE و SQL-UPDATE دارد.
    شما میتوانید یک DataAdapter آماده و ساده را با هر 4 دستور فوق با کدی مثل این تولید کنید:

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    حالا میتوانید با فرمانی مثل این اطلاعات را خوانده و پر کرده و نمایش دهید:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    و برای ذخیره اطلات در زمان کلیک دکمه Save و یا بسته شدن فرم و... هم میتوانید کدی مثل این بنویسید:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    (
    کدهای کوتاهی برای حل مشکل فعلی شما بیان کردم ولی ADO.Net گسترده تر از ان است که بتوان در یک پست و حتی یک تاپیک چندین صفحه ای ان را کامل باز کرد و تشریح کرد.
    نتیجتاً پیشنهاد میکنم که اگر پروژه موقت دانشجویی ندارید و میخواهد برنامه نویسی را جدی ادامه دهید حتماً حتماً کتابی در خصوص ADO.Net تهیه و مطالعه کنید.
    یقیناً یک کتاب 300 و 500 صفحه ای بهتر میتواند ساختار و اشیا و دستورات مختلف ADO.Net را برایتان باز کند.
    )

    در این لیست ویویی که اطلاعات دیتا بیس قرار گرفته چگونه می توان براساس text سرچ کرد
    راه ساده و سریع ان این است که یک BindingSource به نمایه طراحی فرمتان اضافه کنید و آنرا به DataSet یا DataTable تان متصل کنید و بعد هم DataGridView تان را به این BindingSource وصل کنید ...
    حالا میتوانید با تغییر در خصیصه BindingSource.Filter سریعاً آیتمهای خاصی را فیلتر کنید و DataGridView هم سریعتاً موارد فیلتر شده را نشان دهد ...
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

    موفق باشید.

  10. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


  11. #19
    در آغاز فعالیت
    تاريخ عضويت
    Oct 2011
    پست ها
    1

    پيش فرض

    دوست عزیز سلام
    کد زیر قسمتی از پروژه ایه که Error زیاد داره!

    # BindingSource bs = new BindingSource();
    private void ClassActivePeriodFrm_Load(object sender, EventArgs e)
    {

    DataTable classview = Assistant.ToolsDataBase.GetClassActivePeriodview() ;
    bs = new BindingSource(classview, "");

    //combobox
    DataTable dtperiod = Assistant.ToolsDataBase.GetPeriodTbl();
    classactiveperiodcbx.DataSource = dtperiod;
    classactiveperiodcbx.DisplayMember = "Name";
    classactiveperiodcbx.ValueMember = "PeriodId_PK";


    }

    private void btnrun_Click(object sender, EventArgs e)
    {
    //datagridview

    dataGridView1.AutoGenerateColumns = false;

    // ERROR
    bs.Filter = "PeriodId_FK" + classactiveperiodcbx.SelectedValue.ToString() + "" ;
    dataGridView1.DataSource = bs;
    با توجه به توضیحات بالا باید جواب بگیرم اما با توجه به اینکه با تریس dt پر میشه اما Gridview چیزی بر نمیگردونه!


    ضمنا ممنون میشم بگید کد ها رو چطور توی کادر قرار بدم

  12. #20
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    کد خیلی کامل نیست ...
    تنها کمکی که میتوانم انجام دهم این است که شاید و احتمالا کد فیلتر مورد نظر شما این است:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

صفحه 2 از 2 اولاول 12

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •