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

نام تاپیک: Rows cannot be programmatically added to the DataGridView's rows collection when the control is data

  1. #1
    کاربر دائمی آواتار forodo
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    شهر جدید پردیس
    پست
    1,468

    Rows cannot be programmatically added to the DataGridView's rows collection when the control is data

    سلام
    من داخل رویداد لود فرمم 2تا تابع نوشتم:
            private void frmControlProzhe_Load(object sender, EventArgs e)
    {
    getControlProzhe();
    SortDatagridview();
    }

    دقیقاً همونارو داخل رویداد اکتیو فرمم نوشتم:
            private void frmControlProzhe_Activated(object sender, EventArgs e)
    {
    getControlProzhe();
    SortDatagridview();
    }

    تابع های بالا به شرح زیر هستند:
            private void getControlProzhe()
    {
    try
    {

    SqlConnection objconnection =
    new SqlConnection(clsForms.ConnectionString);

    SqlDataAdapter objDataAdapter = new SqlDataAdapter();

    DataSet objDataSet = new DataSet();

    int i = 0;

    objDataAdapter.SelectCommand.CommandText = @"SELECT tblLetterSadere.ID,tblLetterSadere.LetterID,sender UserName
    ,Subject,tabaghe,jahat,SendDate,Sendtime,
    bazgasht,peyrov
    FROM tblLetterSadere WHERE tblLetterSadere.IsFonosht = 1 AND tblLetterSadere.ControlProzheFinish = 0";

    objconnection.Open();
    objDataAdapter.Fill(objDataSet, "tblLetter3");
    objconnection.Close();



    foreach (DataRow r in objDataSet.Tables["tblLetter3"].Rows)
    {
    dataGridView1.Rows.Add();
    dataGridView1.Rows[i].Cells["ID"].Value = r["ID"].ToString();
    dataGridView1.Rows[i].Cells["LetterID"].Value = r["LetterID"].ToString();
    if (dataGridView1.Rows[i].Cells["LetterID"].Value.ToString() == "")
    dataGridView1.Rows[i].Cells["LetterID"].Value = "هنوز توسط دبیرخانه شماره نشده است";
    dataGridView1.Rows[i].Cells["Sender"].Value = Program.chk.GetFullName(r["senderUserName"].ToString());
    dataGridView1.Rows[i].Cells["Subject"].Value = r["Subject"].ToString();
    dataGridView1.Rows[i].Cells["type"].Value = r["tabaghe"].ToString();
    dataGridView1.Rows[i].Cells["jahat"].Value = r["jahat"].ToString();
    dataGridView1.Rows[i].Cells["senddate"].Value = r["SendDate"].ToString();
    dataGridView1.Rows[i].Cells["sendtime"].Value = r["Sendtime"].ToString();
    dataGridView1.Rows[i].Cells["bazgasht"].Value = r["bazgasht"].ToString();
    dataGridView1.Rows[i].Cells["peyrov"].Value = r["peyrov"].ToString();
    dataGridView1.Rows[i].Cells["varede"].Value = "نامه صادره از شرکت";

    i++;
    }
    }
    catch (Exception)
    {
    //MessageBox.Show("در ارتباط با بانک اطلاعاتی مشکلی پیش آمده است", "خطا درون بانک اطلاعاتی",
    // MessageBoxButtons.OK, MessageBoxIcon.Error);
    }
    }

    و اینم اون یکی تابع
            private void SortDatagridview()
    {
    clsForms fo = new clsForms();
    DataTable dttest = new DataTable();
    dttest = fo.DataGridView2DataTable(dataGridView1, "ali", 0);

    //dataGridView1.Rows.Clear();
    dataGridView1.Columns.Clear();

    DataView view = dttest.DefaultView;
    view.Sort = "senddate DESC, sendtime DESC";
    dataGridView1.DataSource = view;

    dataGridView1.Columns["ID"].Visible = false;
    dataGridView1.Columns["LetterID"].HeaderText = "شماره نامه";
    dataGridView1.Columns["LetterID"].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
    dataGridView1.Columns["Sender"].HeaderText = "فرستنده";
    dataGridView1.Columns["Sender"].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
    dataGridView1.Columns["Subject"].HeaderText = "موضوع";
    dataGridView1.Columns["Subject"].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
    dataGridView1.Columns["type"].HeaderText = "نوع";
    dataGridView1.Columns["type"].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
    dataGridView1.Columns["jahat"].HeaderText = "جهت";
    dataGridView1.Columns["jahat"].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
    dataGridView1.Columns["mohlat"].Visible = false;
    dataGridView1.Columns["senddate"].HeaderText = "تاریخ ارجاع";
    dataGridView1.Columns["senddate"].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
    dataGridView1.Columns["sendtime"].HeaderText = "ساعت ارجاع";
    dataGridView1.Columns["sendtime"].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
    dataGridView1.Columns["bazgasht"].HeaderText = "بازگشت";
    dataGridView1.Columns["bazgasht"].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
    dataGridView1.Columns["peyrov"].HeaderText = "پیرو";
    dataGridView1.Columns["peyrov"].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
    dataGridView1.Columns["IsRead"].Visible = false;
    dataGridView1.Columns["varede"].HeaderText = "وارده-داخلی-صادره";
    dataGridView1.Columns["varede"].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
    }

    حالا وقتی به رویداد اکتیو فرم می رسه اروره زیر رو در تابع getControlProzhe به من نشون می ده:
    Rows cannot be programmatically added to the DataGridView's rows collection when the control is data

  2. #2
    مدیر بخش آواتار مهرداد صفا
    تاریخ عضویت
    تیر 1391
    محل زندگی
    select Country,City From World where Country.Name=IRAN and City.Contains(حضرت معصومه(ع))
    پست
    1,499

    نقل قول: Rows cannot be programmatically added to the DataGridView's rows collection when the contro

    سلام.
    در متود دوم با:

    dataGridView1.DataSource = view;


    DataView به گرید متصل شده و در این حالت شما نمی تونید مستقیما یک Row به dataGrid اضافه کنید.
    چشم ظاهر گر نبیند عیب نیست چشم دل گر ننگرد باید گریست
    **********
    اَلسَّلامُ عَلَى الْحُسَيْنِ وَ عَلى عَلِىِّ بْنِ الْحُسَيْنِ وَ عَلى اَوْلادِ الْحُسَيْنِ وَ عَلى اَصْحابِ الْحُسَيْنِ

  3. #3
    کاربر دائمی آواتار forodo
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    شهر جدید پردیس
    پست
    1,468

    نقل قول: Rows cannot be programmatically added to the DataGridView's rows collection when the contro

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

تاپیک های مشابه

  1. خطای empty row cannot be inserted
    نوشته شده توسط 30rabi در بخش برنامه نویسی در 6 VB
    پاسخ: 2
    آخرین پست: دوشنبه 04 اردیبهشت 1391, 11:33 صبح
  2. row cannot be located for updating. some values may have been changed since it was last read
    نوشته شده توسط rouzbeh_ziafati در بخش مطالب مرتبط با بانکهای اطلاعاتی در VB6
    پاسخ: 7
    آخرین پست: شنبه 28 آذر 1388, 21:31 عصر
  3. Row cannot be located for updating
    نوشته شده توسط SyntaxCheck در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 6
    آخرین پست: چهارشنبه 24 مهر 1387, 09:00 صبح
  4. این خطا- row cannot be located
    نوشته شده توسط V60 در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 19
    آخرین پست: چهارشنبه 24 مهر 1387, 06:36 صبح
  5. من خودم هم باورم نمی شه بازهم این خطا- row cannot be located
    نوشته شده توسط V60 در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 0
    آخرین پست: شنبه 09 تیر 1386, 19:40 عصر

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

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