Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/337.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# ASP.Net GridView-数据绑定方法不起作用_C#_Asp.net_Gridview_Data Binding - Fatal编程技术网

C# ASP.Net GridView-数据绑定方法不起作用

C# ASP.Net GridView-数据绑定方法不起作用,c#,asp.net,gridview,data-binding,C#,Asp.net,Gridview,Data Binding,我有一个网格视图,我正试图使用自定义对象列表填充该视图。但是,网格没有被填充 以下是代码摘录: .ASPX文件: <asp:GridView ID="gvResult" runat="server" ondatabound="gvResult_DataBound" onrowdatabound="gvResult_RowDataBound" onrowdeleting="gvResult_RowDeleti

我有一个网格视图,我正试图使用自定义对象列表填充该视图。但是,网格没有被填充

以下是代码摘录:

.ASPX文件:

<asp:GridView ID="gvResult" runat="server" ondatabound="gvResult_DataBound" 
                    onrowdatabound="gvResult_RowDataBound" 
                    onrowdeleting="gvResult_RowDeleting" AutoGenerateColumns="False">
    <Columns>
        <asp:BoundField HeaderText="Id" DataField="Id"/>                            
        <asp:BoundField HeaderText="Regular Expression" DataField="RegExpression"/>
        <asp:BoundField HeaderText="MatchedPart" DataField="MatchedPart"/>                                                        
    </Columns>
</asp:GridView>
这是我的.ASPX.CS文件

List<MatchedRegexObject> matchedRegexObj = new List<MatchedRegexObject>();
//Populate matchedRegexObj
gvResult.DataSource = matchedRegexObj;
gvResult.DataBind();
List matchedRegexObj=newlist();
//填充匹配的regexobj
gvResult.DataSource=matchedRegexObj;
gvResult.DataBind();
当我将“AutoGenerateColumns”属性设置为true时,它工作得非常好。但是,当我通过将“AutoGenerateColumns”属性设置为false来提供自定义列名时,网格不会出现。有人能帮忙吗?

为什么是c#tag

像这样

string query = "Select * From databasetablename";//Sample query
MySqlDataAdapter adaptor = new MySqlDataAdapter(query, connectionname);
DataTable table = new DataTable();
adaptor.Fill(table);
dataGridView1.DataSource = table;

您正在尝试将gridview绑定到没有元素的列表。 你能做些类似的事情吗:

List<MatchedRegexObject> matchedRegexObj = new List<MatchedRegexObject>();
//Populate matchedRegexObj
MatchedRegexObject m = new MatchedRegexObject();
m.Id = "id1";
m.MatchedPart = "Matchpart1";
m.RegExpression = "RegEx1";
matchedRegexObj.Add(m);
gvResult.DataSource = matchedRegexObj;
gvResult.DataBind();
List matchedRegexObj=newlist();
//填充匹配的regexobj
MatchedRegexObject m=新MatchedRegexObject();
m、 Id=“id1”;
m、 MatchedPart=“matchedpart1”;
m、 RegExpression=“RegEx1”;
matchedRegexObj.Add(m);
gvResult.DataSource=matchedRegexObj;
gvResult.DataBind();
让我知道进展如何。
干杯1

您可能想将列表转换为数据表?您已将
AutoGenerateColumns
从True更改为False。这是您在工作版本和非工作版本之间所做的唯一更改吗?我复制了您的代码,它对我来说运行良好。您确定在事件处理程序中没有做任何奇怪的事情吗?如果将GridView剥离到其最基本的形式,它仍然不起作用吗?@AnnL。我将“AutoGenerateColumns”更改为false,并使用“ColumnCollection”属性将列添加到网格中。我将每个列设置为一个边界字段。尝试重新打开
AutoGenerateColumns
,然后查看网格是否重新出现。如果没有,那么您的问题可能不是该属性已更改。
List<MatchedRegexObject> matchedRegexObj = new List<MatchedRegexObject>();
//Populate matchedRegexObj
MatchedRegexObject m = new MatchedRegexObject();
m.Id = "id1";
m.MatchedPart = "Matchpart1";
m.RegExpression = "RegEx1";
matchedRegexObj.Add(m);
gvResult.DataSource = matchedRegexObj;
gvResult.DataBind();