نمایش نتایج 1 تا 6 از 6

نام تاپیک: ساخت دیتا گرید همه کاره

  1. #1

    ساخت دیتا گرید همه کاره

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

  2. #2

    نقل قول: ساخت دیتا گرید همه کاره

    دوستان من کدی به این صورت برای حذف نوشتم مشکلی هم نداره ولی برای درج و ویرایش نتونستم کار خاصی بکنم:
    private void dataGridViewBankAccount_KeyUp(object sender, KeyEventArgs e)
    {
    if (e.KeyData == Keys.Delete)
    {
    BtnDel_Click(sender, e);
    }
    else if (e.KeyData == Keys.Up || e.KeyData == Keys.Down)
    {
    DataGridViewSelectedRowCollection RC = dataGridViewBankAccount.SelectedRows;
    txtAccountID.Text = RC[0].Cells["AccountID"].Value.ToString();
    txtBankName.Text = RC[0].Cells["BankName"].Value.ToString();
    txtAccountNumber.Text = RC[0].Cells["AccountNumber"].Value.ToString();
    txtCash.Text = RC[0].Cells["Cash"].Value.ToString();
    txtCashAll.Text = RC[0].Cells["CashAll"].Value.ToString();
    txtDescription.Text = RC[0].Cells["Description"].Value.ToString();

    }
    }

    و برای قسمت درج از این چند تا رخداد به صورت زیر استفاده کردم:
    private void dataGridViewBankAccount_RowEnter(object sender, DataGridViewCellEventArgs e)
    {
    try
    {
    if (NewRowNeeded)
    {
    DataGridViewRow RC = dataGridViewBankAccount.Rows[e.RowIndex];
    if (RC.IsNewRow)
    {
    string Value = dataGridViewBankAccount.Rows[e.RowIndex - 1].Cells["BankName"].Value.ToString();
    //Value = RC[0].Cells["BankName"].Value.ToString();
    }
    }
    }
    catch (NullReferenceException)
    {
    }
    }
    private bool _NewRowNeeded;

    public bool NewRowNeeded
    {
    get { return _NewRowNeeded; }
    set { _NewRowNeeded = value; }
    }
    private void dataGridViewBankAccount_NewRowNeeded(object sender, DataGridViewRowEventArgs e)
    {
    NewRowNeeded = true;
    }

    private void dataGridViewBankAccount_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e)
    {
    if (NewRowNeeded)
    {
    NewRowNeeded = false;
    }
    }

    private void dataGridViewBankAccount_CellValuePushed(object sender, DataGridViewCellValueEventArgs e)
    {

    }

    ولی به نتیجه نرسیدم لطفا راهنمایی کنین خیلی جستجو کردم ولی به نتیجه نرسیدم.

  3. #3
    کاربر دائمی آواتار asadegha
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    اینجا، همه جا، هیچ جا، چه فرقی داره؟
    پست
    274

    نقل قول: ساخت دیتا گرید همه کاره

    سلام دوست عزیز.
    کد درجت کجا نوشته شده؟ تو چی درج می کنه؟ این درج و حذف و ویرایش فقط قراره رو datagrid باشه یا توی دیتابیس اعمال بشه؟

  4. #4
    کاربر دائمی
    تاریخ عضویت
    مهر 1390
    محل زندگی
    تهران
    سن
    31
    پست
    584

    نقل قول: ساخت دیتا گرید همه کاره

    وقتی به خوای اطلاعاتی که توی یک سطر از گرید وارد می کنی رو با زدن یک button وارد جدول دیتابیست کنی و ثبت کنی از کد زیر می تونی استفاده کنی


    try
    {
    laberatorDataSet Changes =
    (
    laberatorDataSet)laberatorDataSet.GetChanges();
    if (Changes == null)
    {
    return;
    }
    DataTable dt = Changes.Tables["flez"];
    DataRow[] badRows = dt.GetErrors();
    if (badRows.Length == 0)
    {
    int frosh = docterTableAdapter.Update(Changes);
    MessageBox.Show("عملیات با موفقیت انجام شد");
    laberatorDataSet.AcceptChanges();
    }
    else
    {
    string errorMsg = null;
    foreach (DataRow row in badRows)
    {
    foreach (DataColumn col in row.GetColumnsInError())
    {
    errorMsg += row.GetColumnError(col) +
    "\n";
    }
    }
    MessageBox.Show("Errors in data: " + errorMsg,
    "لطفا تصحیح کنید", MessageBoxButtons.OK,
    MessageBoxIcon.Error);
    }
    }
    catch (Exception ex)
    {
    MessageBox.Show("اشکال:" + ex.Message, "اشکال",
    MessageBoxButtons.OK, MessageBoxIcon.Error);
    laberatorDataSet.RejectChanges();
    }

  5. #5

    نقل قول: ساخت دیتا گرید همه کاره

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

  6. #6

    نقل قول: ساخت دیتا گرید همه کاره

    دوست عزیز من نمی خوام در فرم دکمه ای باشه فقط می خوام با زدن اینتر اطلاعات درج و یا ویرایش بشه همین.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •