2017-02-04 3 views
0

Я использую C# и winforms, я не использую какие-либо базы данных, каждая вещь добавляется по коду.
Привет, у меня есть DataGridView с именем _GridView с одним столбцом IP.
IP является единственным столбец и строка
У меня есть следующий код, чтобы добавить строку и обновить сетку:DataGridView не обновляет/refrshing

public void AddUser(string IP) 
    { 
     _GridView.Rows.Add(IP); 
     _GridView.Update(); 
     _GridView.Refresh(); 
    } 

По какой-то причине сетка не обновляя/освежающего, я не получаю какой-либо тип ошибки и IP не являются нулевыми.
Спасибо за ваше время

+0

Может быть ошибка типа? Не могли бы вы показать нам, как вы создаете свои столбцы, потому что мы здесь в темноте. Является ли 'IP' первым столбцом и является ли это строкой типа? – DerpyNerd

+0

@RobbieVercammen 'IP' является единственным столбцом и является строкой – pekira

ответ

0

Мне не нравится редактировать коллекцию datarow напрямую.

В качестве альтернативы попробуйте использовать BindingList<User> как DataSource для вашей сетки. Поскольку мы не имеем много фона, метод ExampleColumnSetup() как я бы настроить в IP колонку:

BindingList<User> source = new BindingList<User>(); 

public void ExampleColumnSetup() 
{ 
    DataGridViewColumn column = new DataGridViewTextBoxColumn(); 
    column.DataPropertyName = "IP"; 
    column.Name = "User"; 
    _GridView.Columns.Add(column); 
} 
public void AddUser(string ip) 
{ 
    source.add(new User(IP = ip)); 

    _GridView.DataSource = null; 
    _GridView.DataSource = source; 
} 
public class User() 
{ 
    public string IP { get; set; } 
    public User(string IP) 
    { 
     this.IP = IP; 
    } 
} 

При добавлении нового пользователя в source список, сетка должна обновляться. У меня нет приложения winforms для проверки этого, так что извините за любые ошибки.

0

Насколько я знаю, вы должны позвонить _GridView.EndEdit(); прежде чем вы сможете обновить его снова, держите меня обновленным

+0

Nop не работает – pekira

+0

@pekira в этом случае у вас должен быть какой-то источник данных, так как он должен где-то его сохранять, попробуйте дать мне эту информацию или посмотреть на источниках данных для datagridview –

+0

Я думаю, что это не проблема, потому что другая программа, которая использует этот код InfoGrid.Rows.Add («Test», Test.Count); и работает – pekira

Смежные вопросы