如果是AutoGenerateColumns="True",那么网格将与dataset绑定并显示数据,但是如果设置为false,则不会绑定并显示NoRecords值,即使datatable有行。
是什么原因造成的,我该怎么解决呢?
pas.MasterTableView.AutoGenerateColumns =false;
DataTable dt = new DataTable();
dt.Columns.Add("SNo");
dt.Columns.Add("Name");
dt.Columns.Add("Add");
DataRow dsa = dt.NewRow();
dsa["SNo"] = "1";
dsa["Name"] = "Karthik";
dsa["Add"] = "Hyd";
dt.Rows.Add(dsa);
dsa = dt.NewRow();
dsa["SNo"] = "2";
dsa["Name"] = "krishna";
dsa["Add"] = "Hyd";
dt.Rows.Add(dsa);
dsa = dt.NewRow();
dsa["SNo"] = "3";
dsa["Name"] = "kailas";
dsa["Add"] = "Hyd";
dt.Rows.Add(dsa);
dsa = dt.NewRow();
dsa["Sno"] = "4";
dsa["Name"] = "Billa";
dsa["Add"] = "Hyd";
dt.Rows.Add(dsa);
dsa = dt.NewRow();
dsa["Sno"] = "5";
dsa["Name"] = "asdf";
dsa["Add"] = "qwer";
dt.Rows.Add(dsa);
pas.DataSource = dt;
pas.DataBind();发布于 2013-09-20 12:27:17
被设置为AutoGenerateColumns的True属性指示网格使用从网格中的数据库返回的任何列,因此,如果关闭它(False),那么网格将没有列,除非定义它们,如下所示:
<Columns>
<telerik:GridBoundColumn DataField="ProductID"
DataType="System.Int32"
HeaderText="Product ID"
SortExpression="ProductID"
UniqueName="ProductID">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="ProductName"
HeaderText="Product Name"
SortExpression="ProductName"
UniqueName="ProductName">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="UnitPrice"
DataType="System.Decimal"
HeaderText="Unit Price"
SortExpression="UnitPrice"
UniqueName="UnitPrice">
</telerik:GridBoundColumn>
</Columns>如果不需要网格中数据库查询中的所有列,或者不喜欢这些列的名称,则使用AutoGenerateColumns=False,因为它使用数据库字段名(即SYSTEM_ID)。
发布于 2013-09-20 12:20:01
如果将AutoGenerateColumns属性设置为false,并且没有手动定义的列,则RadGrid中将没有列。因为没有列,所以不会有记录,因为记录是给定列的单元格。由于网格中没有行,所以将显示NoRecordsToDisplay消息。检查此链接以查看“添加列”。
点击这里获取数据
https://stackoverflow.com/questions/18916160
复制相似问题