2011-04-18 65 views
0

您可以请帮助创建一个适当的自定义datagrid,其中,如果我选择任何单元格,只有该单元格将处于编辑模式,并且所有其他单元格都处于只读模式,并且该单元格应该有一个数据源绑定它。custom datagridview

+0

这是什么技术?的WinForms? WPF? Asp.Net? – 2011-04-18 10:02:59

回答

0

我想你需要一个样本。下面的代码有助于创建自定义设计并填充数据。

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 

你想直接绑定使用本

.DataSource = ldstList.Tables(0) 

我希望它帮助你..

0

当你点击一个细胞,有一个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); 

设置其他单元格的css属性使其显示为禁用。