我正在处理使用 C# 在服务器端通过 JQGrid 生成的表的 CSS。我试图覆盖客户端的布局定义(例如宽度)(当然是在代码中生成服务器端表之后),但什么也没得到。唯一有效的是创建一个全新的 jqgrid 对象,这显然会使所有服务器端定义无效,所以它没有用。
有没有办法以某种方式在客户端重新生成对象的 JavaScript 副本,然后对其应用更改?
非常欢迎您的友好帮助。
编辑:这是用于使用 C# 生成表的代码:
this.projectGrid = new JQGrid
{
Columns = new List<JQGridColumn>()
{
new JQGridColumn { Visible=true,
Editable=false,
// Width=70,
DataField="compliance_colour",
HeaderText="Comp.",
Searchable=false,
Formatter = new CustomFormatter
{
FormatFunction = "formatCmpImage"
}
},
new JQGridColumn{ DataField="ProjectID",
PrimaryKey=true,
Visible=true,
Editable=false,
HeaderText="ID",
// Width=50,
Searchable=false
},
new JQGridColumn{ DataField="OpsRegion",
Visible=true,
Editable=false,
HeaderText="Ops Region",
// Width=180,
Searchable=false
},
new JQGridColumn{DataField="customer",
Visible=true,
Editable=false,
HeaderText="Customer Name",
// Width=180,
Searchable=false
},
new JQGridColumn{ DataField="projectName",
Visible=true,
Editable=false,
HeaderText="Project Name",
// Width=300,
Searchable=false,
Formatter = new CustomFormatter
{
FormatFunction = "formatLink",
}
},
new JQGridColumn{DataField="projectManager",
Visible=true,
Editable=false,
HeaderText="Project Manager",
// Width=110,
Searchable=false
},
new JQGridColumn{DataField="status",
Visible=true,
Editable=false,
HeaderText="Status",
// Width=70,
Searchable=false
},
new JQGridColumn {DataField="type",
Visible=true,
Editable=false,
HeaderText="Type",
// Width=70,
Searchable=false
},
new JQGridColumn {DataField="favorite",
Visible=true,
Editable=false,
HeaderText="Favorite",
// Width=60,
Searchable=false,
Formatter = new CustomFormatter
{
FormatFunction = "formatFvImage",
UnFormatFunction = "unformatCell"
}
},
new JQGridColumn {DataField="compliance_reason",
Visible=false
},
new JQGridColumn {DataField="lastUpdate",
Visible=true,
Editable=false,
// Width=60,
HeaderText="Last Update",
Searchable=false,
Formatter = new CustomFormatter
{
FormatFunction = "formatReportLink",
UnFormatFunction = "unformatCell"
}
},
},
Width = Unit.Pixel(1400),
ShrinkToFit=true,
Height = Unit.Pixel(520),
};