我的C#代码存在问题.我已经设置了几个DataTables,并为每个DataTable分配了一个主键.我想要做的是从单个列中检索单行.
让我说我有这个代码:
DataColumn Pcolumn = new DataColumn();
DataColumn[] key = new DataColumn[1];
Pcolumn.DataType = System.Type.GetType("System.Double");
Pcolumn.ColumnName = "length";
key[0] = Pcolumn;
table6F.Columns.Add(Pcolumn);
table6F.Columns.Add("Area", typeof(double));
table6F.Columns.Add("load", typeof(double));
table6F.Columns.Add("weigth", typeof(double));
table6F.PrimaryKey = key;
table.Rows.Add(6.0, 14.0, 17.8 , 11.0 );
table.Rows.Add(7.0, 16.2 , 20.7 , 16.0 );
Run Code Online (Sandbox Code Playgroud)
我想检索第二行(20.7)的"加载",我想在表中搜索7.0,主键列.我虚拟测试这样做,只是为了测试:
Object oV;
double load;
//Get an Table object given the specific row number, this dummy i always set to 0.
// Given Column
oV = table.Rows[0]["load"];
load = Convert.ToDouble(oV.ToString());
Run Code Online (Sandbox Code Playgroud)
是否有类似的方法使用主键提取?
我有一个响应式dataTable(响应式文档),格式如下:
var dataTableInfo = j$('[id$="dataTableInfo"]').DataTable({
responsive: {
"autoWidth": true,
details: {
type: 'column',
target: 0
}
},
columnDefs: [ {
className: 'control',
orderable: false,
targets: 0
} ]
});
Run Code Online (Sandbox Code Playgroud)
我通过搜索到外部数据源来填充数据,然后在DataTable中有第二个表,其中包含从我的实例中自动生成的附加数据(在子行中).我可以单击第一列中的图标来展开并显示子行,一切正常.
我想要完成的是,一旦加载了所有数据,我就会通过此DataTable的Javascript自动扩展子行(我知道这是在回调函数中发生的).
我尝试了以下多种变体:
function ExpandTable(){
var tab = j$('[id$="dataTableInfo"]').DataTable();
alert(tab);
tab.rows().every( function () {
this.child.show();
} );
}
Run Code Online (Sandbox Code Playgroud)
但我的表格根本不会扩展其子行.控制台中没有任何反应并且没有错误消息.
任何人都可以帮我解释我如何根据这个模拟按钮点击:
$('#example tbody').on( 'click', 'tr', function () {
var child = table.row( this ).child;
if ( child.isShown() ) {
child.hide();
}
else {
child.show();
}} );
Run Code Online (Sandbox Code Playgroud)
或以任何其他方式自动扩展子行.
再见!