Vb.net datagridview добавляет пустые строки ?
Я бы назвал это скорее напыщенной тирадой, чем вопросом.
Чтобы пропустить разглагольствования перейдите к ок давайте перейдем к вопросам
VS 2019 DataGridView (DGV) - это как та старая поговорка: "Вы можете иметь свой торт и есть, чтобы"
За исключением того что с DGV вы получаете только торт не едите его
После долгих поисков и проб и ошибок играя с DGV это так замечательно просто писать
dgvOne.DataSource = dtи у вас есть отображаемые данные
Моя проблема заключается в том, что при использовании этой техники нет ручного добавления в DGV>br/>
Почему ОКР разглагольствует если вы не заполняете его данными у DGV есть это уродливое серое пространство под моей записью раз в месяц действительно не очень хороший пользователь LOOING EX
Хорошо давайте перейдем к вопросам
Я знаю, как вручную добавить заголовки столбцов с кодом и свойствами
Я предполагаю, что могу выбрать из таблицы поместить эти значения в StringArray
Я редко обнимаю массивы я всегда думал о них как о БД которые исчезают
Итак, как мне выполнить цикл через массив строк и добавить значения в виде строк в DGB
И есть ли у DGV предварительно заполненные 12 пустых строк?
Код ниже-это то, что я пробовал
Что я уже пробовал:
'Private Sub aA(getListOfMotonum() As List(Of String)) Public Sub aA() 'Code Below makes empty ROWS in DGV ''dgvOne.Columns.AddRange(Enumerable.Range(0, 2).Select(Function(x) New DataGridViewTextBoxColumn).ToArray) ''dgvOne.Rows.AddRange(Enumerable.Range(0, 10).Select(Function(x) New DataGridViewRow).ToArray) Dim SQL As String = "Select * FROM ParentTable" 'Dim SQL As String = "SELECT COUNT(*) FROM ParentTable" Dim output As New List(Of String)() Dim dbName As String = "Word.db" 'Dim cmd As New SQLiteCommand ' Set the connection string in the Solutions Explorer/Properties/Settings object (double-click) Using conn = New SQLiteConnection("Data Source =" & dbName & ";Version=3;") Using cmd = New SQLiteCommand(SQL, conn) conn.Open() Try Dim dr = cmd.ExecuteReader() While dr.Read() output.Add(dr("NAME").ToString()) 'Dim output As New List(Of String)() rtbEnter.Text = dr("NAME").ToString() 'rtbEnter.Text = output.ToArray() End While Catch e As SqlClient.SqlException ' Do some logging or something. MessageBox.Show("There was an error accessing your data. DETAIL: " & e.ToString()) End Try End Using End Using Dim str1 As String, str2 As String Dim L As Integer For Each item As String In output lbOne.Items.Add(item) L = Len(item) str1 = CStr(L) str2 = output(0) Next 'dgvOne.ColumnCount = 3 'dgvOne.Columns(0).Name = "PID" 'dgvOne.Columns(1).Name = "Entry Data" Dim dt As New DataTable dt.Columns.Add("ID") dt.Columns.Add("Name") dt.Columns(0).AutoIncrement = True Dim R As DataRow = dt.NewRow R("Name") = str1 & " " & str2 dt.Rows.Add(R) dgvOne.DataSource = dt 'Return output End Sub
Richard MacCutchan
Я не уверен, что понимаю, на что вы жалуетесь, но заполнение элементов управления DataGridView вручную или через источник привязки работает нормально. Но пытаться делать и то и другое не имеет смысла, так как одно перехитрит другое.