Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 自定义datagridview_C# - Fatal编程技术网

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);