Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Update после редактирования в DataGridView


Автор: Vova14 3.3.2011, 09:57
После редактирования ячейки DataGridView и перехода в другую строку работает код обработчика
SelectionChanged
Код

private void grid_SelectionChanged(object sender, EventArgs e)
{
  tabTableAdapter.Update(this.dsTab.tab);
}


Нужно, чтобы Update происходил не только при переходе к другой строке, но и при переходе
к другому контролу

Автор: CYBERDREAM 3.3.2011, 13:55
LostFocus попробуй

Автор: Vova14 3.3.2011, 14:23
Цитата(CYBERDREAM)

LostFocus попробуй

Ни Leave, ни CellLeave не помогают. LostFocus вроде нет у грида

Автор: Vova14 4.3.2011, 15:26
Нашёл решение здесь
http://msdn.microsoft.com/query/dev10.query?appId=Dev10IDEF1&l=RU-RU&k=k(SYSTEM.WINDOWS.FORMS.DATAGRIDVIEW.ISCURRENTROWDIRTY);k(TargetFrameworkMoniker-%22.NETFRAMEWORK%2cVERSION%3dV4.0%22);k(DevLang-CSHARP)&rd=true

Перед вызовом Update нужно вызвать метод формы Validate

Код

private void grid_Leave(object sender, EventArgs e)
{
  Validate();
  tabTableAdapter.Update(this.dsTab.tab);
}



Автор: Кошмаркина 13.3.2011, 11:38
Люди добрые!ПОМОГИТЕ!!!!Нужно написать программу на C# :
Дана целочисленная прямоугольная матрица. Определить количество столбцов,
не содержащих ни одного нулевого элемента. Характеристикой строки целочисленной матрицы назовем сумму ее положительных четных элементов. Переставляя строки заданной матрицы, расположить их в соответствии с ростом характеристик.


застопорилась с заполнением грид вью,не могу найти как.... и с сортировкой((((
Вот что написала сама
Код



private void AddColumns(int m, DataGridView dgw)
        {
            //добавляет n столбцов в элемент управления dgw
            //Заполнение DGView столбцами
            DataGridViewColumn column;
            for (int j = 0; j < m; j++)
            {
                column = new DataGridViewTextBoxColumn();
                column.DataPropertyName = "Column" + j.ToString();
                column.Name = "Column" + j.ToString();
                dgw.Columns.Add(column);
            }
        }
       private void AddRows(int n, DataGridView dgw)
        {
            //добавляет m строк в элемент управления dgw       
            //Заполнение DGView строками
            for (int i = 0; i < n; i++)
            {
                dgw.Rows.Add();
                dgw.Rows[i].HeaderCell.Value
                    = "row" + i.ToString();
            }
        }


        private void button1_Click(object sender, EventArgs e)
        {
            int n, m;
            n = Convert.ToInt32(textBox1.Text);
            m = Convert.ToInt32(textBox2.Text);


 

            Random ran = new Random();
            int[,] arr = new int[n, m];

            DataTable dTable = new DataTable("Dynamically_Generated"); // создаем DataTable
            DataRow row = null;
            AddColumns(m, dataGridView1);
            AddRows(n, dataGridView1);
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < m; j++)
                {
                    arr[i, j] = ran.Next(1, 10) - 5;

                    dataGridView1.Ronw.Add(i,j);
                    

                }
            }
for (int i = 0; i < n; i++)
            {
                int p = 0;
                for (int j = 0; j < m;j++)
                
                {
                    if (arr[i, j] != 0)
                        p += 1;
                }
                textBox2.Text = Convert.ToString(p);
            }

            for (int i = 0; i < n; i++)
            {
                int sum = 0;
                for (int j = 0; j < m; j++)
                {
                    if ((arr[i, j] > 0) && (arr[i, j] % 2 == 0))
                        sum += arr[i, j];

                }

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)