Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 绑定数据后如何更改gridview宽度和重命名标头_C#_Asp.net_Data Binding_Gridview - Fatal编程技术网

C# 绑定数据后如何更改gridview宽度和重命名标头

C# 绑定数据后如何更改gridview宽度和重命名标头,c#,asp.net,data-binding,gridview,C#,Asp.net,Data Binding,Gridview,我尝试在绑定数据后更改gridview大小并重命名标头,但由于我的数据超过100px,因此出现错误“索引超出范围”,如何解决 conn.Open(); cmdString = "SQL"; cmd = new SqlCommand(cmdString, conn); cmd.Parameters.AddWithValue("@courseID", CourseID);

我尝试在绑定数据后更改gridview大小并重命名标头,但由于我的数据超过100px,因此出现错误“索引超出范围”,如何解决

                conn.Open();
                cmdString = "SQL";
                cmd = new SqlCommand(cmdString, conn);
                cmd.Parameters.AddWithValue("@courseID", CourseID);
                dtr = cmd.ExecuteReader();
                gvAssignment.DataSource = dtr;
                gvAssignment.Columns[7].ItemStyle.Width = Unit.Pixel(100);
                gvAssignment.DataBind();                  
                dtr.Close();
                conn.Close();
另一种方法没有错误,但大小不会更改为100

    protected void gvAssignment_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        e.Row.Cells[7].Width = 100;
    }

检查您的查询。“索引超出范围”可能指向列索引(如果查询中没有8列)

请尝试先设置数据绑定,如下所示:

   gvAssignment.DataBind();  
   gvAssignment.Columns[7].ItemStyle.Width = Unit.Pixel(100); 
您还可以尝试在绑定数据后更新列宽。为了确保这一点,我们可以在gridview绑定事件中设置它

protected void Page_Load(object sender, EventArgs e)
{
    gvAssignment.DataBound += new EventHandler(gvAssignment_DataBound);
}

void gvAssignment_DataBound(object sender, EventArgs e)
{       
    gvAssignment.Columns[7].ItemStyle.Width = Unit.Pixel(100); 
}   

我认为问题不在于宽度大小。。。这种情况永远不会引发异常。。。是否确实有8列?是否设置了
AutoGenerateColumns=“true”
?回答是或否,我没有设置AutoGenerateColumns=“true”选择“下载”“学习者ID”“课程ID”“名称”“上载日期”“标记”“注释”这是我的列,我想更改“注释”宽度“选择”“下载”“学习者ID”“课程ID”“名称”“上载日期”“标记”“注释”这是我的列,我想更改“注释” width@user1848681请参阅我的编辑。我相信您需要先绑定数据,然后再更改列宽。在绑定之外,列还不存在。@user1848681在conn.close()之后对gvsassignment.Row(0).Cells.Count进行简单打印,以查看有多少列。。(健全性检查)'System.Web.UI.WebControls.GridView'不包含'Row'的定义,并且没有扩展方法'Row'接受。请将行(0)更改为行[0]