программно ОБНОВЛЕНИЕ Подробности Просмотр C # - PullRequest
0 голосов
/ 19 ноября 2010

Как я могу программно обновить представление сведений.НЕ через SQL DataSource или через Wizard.Я хочу обновить представление сведений из кода (.cs)

У меня есть выпадающий список, загруженный с именами пользователей, вверх при выборе имени пользователя, я загружаю представление сведений с информацией о пользователях.

Теперь я хочу предоставить функцию обновления программно.

Как я могу это сделать? ..

Ответы [ 2 ]

0 голосов
/ 20 ноября 2010

Если вы уже отображаете данные в любой форме после выбора в раскрывающемся списке, вероятно, вы используете событие «SelectedIndexChanged».

 private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
 {
      StringBuilder sb = new StringBuilder();
      // show user details for example by get the data from db
      string query = "SELECT userId, UserName FROM Users";
      SqlConnection conn = new SqlConnection("conn string");
      SqlCommand comd = new SqlCommand(query, conn);
      conn.Open();
      using(SqlDataReader r = comd.ExecuteReader())
      {
          while(r.Read()) 
          {                 
             sb.AppendLine(r.GetInt32(0) + ", " + r.GetString(1));                 
          }
          conn.Close();
      }
      textBox1.Text = sb.ToString();
 }

выполните для обновления данных, установив желаемый индекс:

this.comboBox1.SelectedIndex = 0;

он вызывает SelectedIndexChanged envent и обновляет подробную информацию пользователя.

Конечно, вы можете сделать это более эффективно.

[EDIT]

Вы можете обновить данные в базепутем отображения подробного представления в элементе управления DataGridView, подключенного к базе данных:

SqlDataAdapter adapter = new SqlDataAdapter("select * from users", conn);
DataSet ds = new DataSet();
adapter.Fill(ds);
dataGridView1.DataSource = ds.Tables[0];

редактировать данные в DataGridView и в конце концов:

adapter.Update(ds);

сделано!

0 голосов
/ 19 ноября 2010

Попробуйте разместить панель обновления вокруг представления сведений. Добавьте асинхронный триггер обратной передачи на панель - событие изменения раскрывающегося списка.

Установите раскрывающийся список на автоответчик.

Вы получите желаемое поведение без полной обратной передачи.

Возможно, вам удастся добиться большего, но это сработает.

...