C# 自定义datagridview
你能帮我创建一个合适的自定义数据网格吗?如果我只选择其中一个单元格,那么该单元格将处于编辑模式,而所有其他单元格都处于只读模式,并且该单元格应该有一个数据源与之绑定。我想你需要一个示例。下面的代码有助于创建自定义设计和填充数据C# 自定义datagridview,c#,C#,你能帮我创建一个合适的自定义数据网格吗?如果我只选择其中一个单元格,那么该单元格将处于编辑模式,而所有其他单元格都处于只读模式,并且该单元格应该有一个数据源与之绑定。我想你需要一个示例。下面的代码有助于创建自定义设计和填充数据 With DgCardVoc '.DataSource = ldstList.Tables(0) .ColumnHeadersDefaultCellSt
With DgCardVoc
'.DataSource = ldstList.Tables(0)
.ColumnHeadersDefaultCellStyle.Font = New Font("Verdana", 12.0F, FontStyle.Bold, GraphicsUnit.Pixel)
.ColumnHeadersDefaultCellStyle.BackColor = Color.GreenYellow
.EnableHeadersVisualStyles = False
If .Columns.Count < 3 Then
.Columns.Add("ID", "Id")
.Columns.Add("c1", "c1")
.Columns.Add("c2", "c2")
End If
count = ldstList.Tables(0).Rows.Count
.Rows.Clear()
For i = 0 To count - 1
Dim row() As String = {True, ldstList.Tables(0).Rows(i)(0), ldstList.Tables(0).Rows(i)(1), Format(ldstList.Tables(0).Rows(i)(2), "dd-MM-yyyy hh:mm ttttt")}
.Rows.Add(row)
Next i
.Columns(1).Visible = False
For i = 1 To .ColumnCount - 1
.Columns(i).ReadOnly = True
Next i
.Columns(0).Width = "72"
.Columns(2).Width = "300"
.Columns(3).Width = "185"
.RowsDefaultCellStyle.BackColor = Color.Beige
.AlternatingRowsDefaultCellStyle.BackColor = Color.FromArgb(224, 255, 179)
.DefaultCellStyle.Font = New Font("Verdana", 12.0F, FontStyle.Regular, GraphicsUnit.Pixel)
.DefaultCellStyle.ForeColor = Color.Black
.Refresh()
End With
我希望它能对您有所帮助。当您单击单元格时,可以使用javascript函数将单元格内的控件替换为文本框
function changeToText(control) {
var textElement = document.createElement('INPUT');
var parentElement = control.parentNode;
setValue(control.id, control.innerHTML);
textElement.setAttribute("id", control.id);
textElement.setAttribute("type", "text");
textElement.setAttribute("value", control.innerHTML);
parentElement.replaceChild(textElement, control);
设置other cells css属性使其显示为禁用。这是什么技术?Winforms?WPF?Asp.Net?
function changeToText(control) {
var textElement = document.createElement('INPUT');
var parentElement = control.parentNode;
setValue(control.id, control.innerHTML);
textElement.setAttribute("id", control.id);
textElement.setAttribute("type", "text");
textElement.setAttribute("value", control.innerHTML);
parentElement.replaceChild(textElement, control);