C# GridControl对象引用未设置为对象的实例
我得到的对象引用未设置为对象的实例 我先把它读给DataTable然后C# GridControl对象引用未设置为对象的实例,c#,.net,winforms,devexpress,xtragrid,C#,.net,Winforms,Devexpress,Xtragrid,我得到的对象引用未设置为对象的实例 我先把它读给DataTable然后 gridControl2.DataSource = dataTable5; 我把.txt文件读到GridControl就行了。 我在使用后出现错误: gridView2.Columns["SomethingA"].Visible = false; 我不认为列上有空值,因为我使用SQL查询获取这些值并避免了空值 编辑:完整代码 char[] chrArray10 = new char[1]; chrA
gridControl2.DataSource = dataTable5;
我把.txt文件读到GridControl就行了。
我在使用后出现错误:
gridView2.Columns["SomethingA"].Visible = false;
我不认为列上有空值,因为我使用SQL查询获取这些值并避免了空值
编辑:完整代码
char[] chrArray10 = new char[1];
chrArray10[0] = '\t';
Assembly assembly = Assembly.LoadFile("C:/Users/PC-ASQ/documents/visual studio 2013/Projects/ClassLibrary1/ClassLibrary1/bin/Debug/Mydll.dll");
System.Resources.ResourceManager resourcemanager = new System.Resources.ResourceManager("ClassLibrary1.Properties.Resources", assembly);
var textList = resourcemanager.GetString("GISS").Split(chrArray10);
string[] strArrays15 = resourcemanager.GetString("GISS").Split('\n');
string[] strArrays16 = strArrays15[0].Split(chrArray10);
DataTable dataTable5 = new DataTable();
string[] strArrays17 = strArrays16;
for (int s = 0; s < (int)strArrays17.Length; s++)
{
string str5 = strArrays17[s];
dataTable5.Columns.Add(str5);
}
for (int t = 1; t < (int)strArrays15.Length; t++)
{
char[] chrArray11 = new char[1];
chrArray11[0] = '\t';
dataTable5.Rows.Add(strArrays15[t].Split(chrArray11));
}
gridControl2.DataSource = dataTable5;
gridView2.Columns["ToolTip"].Visible = false;
gridView2.Columns["Icons"].Visible = false;
return;
char[]chrary10=新字符[1];
chrary10[0]='\t';
Assembly Assembly=Assembly.LoadFile(“C:/Users/PC-ASQ/documents/visualstudio 2013/Projects/ClassLibrary1/ClassLibrary1/bin/Debug/Mydll.dll”);
System.Resources.ResourceManager ResourceManager=新的System.Resources.ResourceManager(“ClassLibrary1.Properties.Resources”,程序集);
var textList=resourcemanager.GetString(“GISS”).Split(chrarary10);
string[]strArrays15=resourcemanager.GetString(“GISS”).Split('\n');
字符串[]strArrays16=strArrays15[0]。拆分(chrray10);
DataTable dataTable5=新的DataTable();
字符串[]strArrays17=strArrays16;
对于(int s=0;s<(int)strArrays17.Length;s++)
{
字符串str5=strArrays17[s];
dataTable5.Columns.Add(str5);
}
对于(int t=1;t<(int)strArrays15.Length;t++)
{
char[]chrary11=新字符[1];
chrary11[0]='\t';
dataTable5.Rows.Add(strArrays15[t].Split(chrarary11));
}
gridControl2.DataSource=dataTable5;
gridView2.Columns[“工具提示”]。Visible=false;
gridView2.列[“图标”]。可见=假;
返回;
是否存在“SomethingA”网格列
您之所以说不存在空值,是因为您确保查询不会产生任何结果,但这与如何访问可视化网格列对象无关。如果网格没有“SomethingA”列,那么不管数据是什么,您的代码肯定会失败
(现在我知道我们谈论的是XtraGrid,上述内容与此无关)
更新:
好的,首先,要按字段名检索DevExpress的GridView
列,必须使用列集合的方法:
第二,下次你问问题时,一定要包括所有必要的细节。正如您所见,您使用的是第三方网格,这一事实改变了一切。并不是每个网格都是相同的。我编辑了你的帖子以添加相关标签。在将来,一定要包括它们
第三,当要求提供错误消息时,这意味着仅错误消息不足以正确诊断问题。堆栈包含有关代码正在执行的步骤的重要信息。如果您需要异常方面的帮助,最好提供该信息
第四也是最后一点,DevExpress有自己的功能。您的问题可能会在那里得到更好的回答。我检查了此代码,它工作正常
DataTable datatable5 = new DataTable();
datatable5.Columns.Add("ToolTip");
datatable5.Columns.Add("Icons");
datatable5.Columns.Add("ID");
datatable5.Columns.Add("Number");
for (int i = 0; i < 4; i++)
datatable5.Rows.Add(new object[] { String.Format("ToolTip{0}.", i),i,i,i});
gridControl2.DataSource = dataTable5;
gridView2.Columns["ToolTip"].Visible = false;
gridView2.Columns["Icons"].Visible = false;
你到底是什么意思X网格确实有这个列。@user3091970那么你的代码就不能在你提到的那一行崩溃。请添加完整的异常stacktrace和失败的实际代码行。失败的代码行:gridView2.Columns[“SomethingA”]。Visible=false@用户3091970正如我所说:如果这是导致崩溃的行,那么您的“SomethingA”列根本不存在。该变量或实际的
gridView2
变量为空。请编辑您的原始答案并发布完整的异常跟踪。这一切都会变得清晰。完整的异常堆栈跟踪在这里会有所帮助。还有,你在哪个平台上?Winform?ASP.NET?这是本机gridcontrol还是第三方的?WinForms~~gridcontrol来自DevXPress控件。这是一个网格,DevXPress的gridcontrol就是这样。您有GridControl和GridView。正如我所说。。我可以隐藏一列。。但是第二个我不能:(我知道那是DevExpress GridControl,请检查你的问题你把GridControl命名为什么…?你能发布完整的代码吗,这样我们就可以看到你是如何隐藏一列而不是另一列的。
DataTable datatable5 = new DataTable();
datatable5.Columns.Add("ToolTip");
datatable5.Columns.Add("Icons");
datatable5.Columns.Add("ID");
datatable5.Columns.Add("Number");
for (int i = 0; i < 4; i++)
datatable5.Rows.Add(new object[] { String.Format("ToolTip{0}.", i),i,i,i});
gridControl2.DataSource = dataTable5;
gridView2.Columns["ToolTip"].Visible = false;
gridView2.Columns["Icons"].Visible = false;
DataTable dataTable5 = new DataTable();
string[] strArrays17 = strArrays16;
for (int s = 0; s < (int)strArrays17.Length; s++)
{
string str5 = strArrays17[s];
dataTable5.Columns.Add(str5);//check any extra space adding here
}
for (int t = 1; t < (int)strArrays15.Length; t++)
{
char[] chrArray11 = new char[1];
chrArray11[0] = '\t';
dataTable5.Rows.Add(strArrays15[t].Split(chrArray11));
}