我一直在研究asp.net/C#项目。我可以将DataTable绑定到gridview。但我有一种情况,我不想绑定DataTable中的所有记录。是否有任何方法只将少量记录绑定到gridview? GridView.DataBind()的任何替代品?
谢谢
答案 0 :(得分:1)
试试这个,
使用数据表选择查询可以实现此目的, 例如,
DataTable dt=yourdata;
DataRow[] dr=dt.Select("columnname='Maths'");
foreach (DataRow row in dr) {
dt.ImportRow(row);
}
GridView1.DataSource=dt;
GridView1.DataBind();
其中Maths =您的搜索条件。
答案 1 :(得分:0)
您可以手动添加行,即不使用数据源。
var newRowIndex = dataGridView1.Rows.Add(firstValue, secondValue, thirdValue);
您可以这样使用它:
foreach (System.Data.DataRow row in myDataTable.Rows)
{
if(meets my criteria...)
{
dataGridView1.Rows.Add(row["Column1"], row["Column2"], row["Column3"]);
}
}
事实上,这可能是一个更好的解决方案,因为它允许您在UI中轻松地对列进行排序,而绑定到数据源则不允许这样。
答案 2 :(得分:0)
将DataView用于DataTable,以便您能够过滤记录并将数据视图分配给网格。
例如:
DataView dv = new DataView(DataTable, "Column1=Value", "Column2", DataViewRowState.CurrentRows);