如何避免在gridview中插入虚拟行?

时间:2015-01-15 10:25:27

标签: c# asp.net gridview

我正在以horizo​​ndal的方式生成gridview。代码工作正常,但名称为column1和column2的虚拟行插入。我该如何防止这种插入?我的gridview代码是

str = "select MachID,EmpCode from EmpDetails where EmpCode='" + empcode + "'";
DataTable dt = GetData(str);
DataTable dt2 = new DataTable();
for (int i = 0; i <= dt.Rows.Count; i++)
{
    dt.Columns.Add();
}
for (int i = 0; i < dt.Columns.Count; i++)
{
    dt2.Rows.Add();
    dt2.Rows[i][0] = dt.Columns[i].ColumnName;
}
for (int i = 0; i < dt.Columns.Count; i++)
{
    for (int j = 0; j < dt.Rows.Count; j++)
    {
        dt2.Rows[i][j + 1] = dt.Rows[j][i];

    } 
}
gvOrders.DataSource = dt2;
gvOrders.DataBind();

我目前的o / p是

Column1    Column2
MachID     101
EmpCode    ABC

我想阻止此column1和column2行。我怎么能这样做?

我的GetData函数是

private static DataTable GetData(string query)
{
    DataTable dt = new DataTable();
    SqlCommand cmd = new SqlCommand(query);
    String constr =        ConfigurationManager.ConnectionStrings["ApplicationServices"].ConnectionString;
    SqlConnection con = new SqlConnection(constr);
    SqlDataAdapter sda = new SqlDataAdapter();
    cmd.CommandType = CommandType.Text;
    cmd.Connection = con;
    sda.SelectCommand = cmd;
    sda.Fill(dt);
    return dt;
}

2 个答案:

答案 0 :(得分:1)

在您的代码隐藏中尝试将行标题可见性设置为false,如下所示:

gvOrders.RowHeadersVisible = false;

在您的aspx文件中,您可以将ShowHeader="False"添加到您的asp:GridView标记。

答案 1 :(得分:0)

删除数据表中的重复行的代码dt

for (int i = 0; i < dt.Rows.Count-1; i++)
        {
            for (int j = i+1; j < dt.Rows.Count; j++)
            {
                if (dt.Rows[i].ItemArray.SequenceEqual(dt.Rows[j].ItemArray))
                    dt.Rows[j].Delete();
            }
        }

在第二行和第三行之间添加这些代码行