2012-07-29 35 views
3

我想出了以下代码,它基于textbox1中的用户输入添加了多少个列,但是如何为这些列添加名称? (列加应该有这样,A1,A2,A3的名字.......在最上面的一行)在datagridview中命名一列

Dim t As Integer 
t = Val(TextBox1.Text) 
For i = 1 To t 
    Form2.DataGridView1.ColumnCount = i 
Next 

也可以,我们冻结特定细胞在一个DataGridView即细胞哪些用户不能修改?

回答

2

试试这个

DataGridView1.Columns(i).Name = String.Format("A{0}", i) 

一旦你有机会到列(i)您可以从智能感知查看可用的属性

DataGridView1.Columns(0).Frozen = True; 
+0

在VB.net阵列被表示为(i)不[I] – 2012-07-29 23:27:42

+0

由于习惯了对C# – codingbiz 2012-07-29 23:30:11

+0

那确定,+ 1你的回答是正确的,只要头去,这听起来像他想冻结单个单元格,而不是行或列。 – 2012-07-29 23:32:41

2

在DataGridView只冻结的行或列,以便方法要阻止编辑特定的单元格,您可以尝试为CellBeginEdit事件添加处理程序,然后检查要禁止编辑的单元格的行和列,然后取消该事件。

是这样的:

Private Sub DataGridView1_CellBeginEdit(sender As Object, e As System.Windows.Forms.DataGridViewCellCancelEventArgs) Handles DataGridView1.CellBeginEdit 
    If e.ColumnIndex = 0 And e.RowIndex = 0 Then 
     e.Cancel = True 
    End If 
End Sub 
+0

此论坛应允许用户将2个答案标记为“已接受”。非常感谢你的时间和帮助。 – mrn 2012-07-29 23:51:59

+1

你需要upvote第二个答案。这更多的感谢 – codingbiz 2012-07-30 00:17:00