2014-04-09 3 views
0

Я пытаюсь DataBind на сетку, но у меня возникли некоторые проблемы здесьПытаясь DataBind к GridView

Dim bs As New BindingSource 
    bs.DataSource = (From u In threeContext.dbConext.skechersDeliveries Where u.isprocessed = False Select u).ToList() 

    dgDeliverys.DataSource = bs 

Это работает, но когда я обновить значения не получить сохраненные в базу данных, когда я оставить строку сетки?

+0

вы должны вызвать threeContext.SaveChanges направить изменения в исходной базе данных. –

+0

@AlinI правильный budy Я призывал свежий dbcontext can not beleive, который положил должный anser в их благодарность, нет ли у вас ни одного, чтобы восстановить текстовое поле ввода gridview только в числах – rogue39nin

+0

in cellvalidating event put: ** e.Cancel = Not IsNumeric (e .FormattedValue) ** –

ответ

0

Для вас вопрос (убедитесь datagridview1.AutoGenerateColumns = True):

Private Sub DataGridView1_CellValidating(sender As Object, e As DataGridViewCellValidatingEventArgs) _ 
Handles datagridview1.CellValidating 
    e.Cancel = Not IsNumeric(DataGridView1.Item(e.ColumnIndex, e.RowIndex)) 
End Sub 

Private Sub DataGridView1_DataBindingComplete(sender As Object, e As DataGridViewBindingCompleteEventArgs) _ 
Handles DataGridView1.DataBindingComplete 
    For Each col As DataGridViewColumn In DataGridView1.Columns 
     Select Case col.DataPropertyName 
      Case "Col1" ' from Table or Linq 
       col.HeaderText = "My Column 1" 
      Case "Col2" ' from Table or Linq 
       col.HeaderText = "My Column 2" 
       ' '' etc for each column 
     End Select 
    Next 
End Sub 
Смежные вопросы