Tag: datarow

如何向DataGridView中的列添加按钮

DataTable dt = new DataTable(); dt.Columns.Add(new DataColumn(“Software Title”, typeof(string))); dt.Columns.Add(new DataColumn(“Version”, typeof(string))); dt.Columns.Add(new DataColumn(“Uninstall”, typeof(System.Windows.Forms.Button))); DataRow dr = dt.NewRow(); dr[0] = “App”; dr[1] = “1.0”; Button uninstall = new Button(); uninstall.Text = “Uninstall”; dr[2] = uninstall; dt.Rows.Add(dr); dataGridViewSoftware.DataSource = dt; 文本出现但按钮从不显示。

如何将List转换为DataTable

我从另一个数据表中获取值作为列表的输入。 现在我需要将这些列表值保存到另一个DataTable中。 列表: List list = slectedFieldsTable.AsEnumerable().ToList(); foreach (DataRow dr in slectedFieldsTable.Rows) { list.Add(dr); } 新数据表: DataRow newRow = tempTable.NewRow(); newRow[“Field Name”] = fieldLabel; newRow[“Field Type”] = fieldType; for(int gg =0 ; gg<list.Count; gg++) { tempTable.Rows.Add(????); } 我被困在这里将行添加到新数据表中。

如何检查Datarow值是否为null

请告诉我,如果需要返回string这是在DataRow中检查NULL的正确方法 Convert.ToString(row[“Int64_id”] ?? “”) 或者应该像检查DBNull.Value一样。 需要比这更小 if(row[“Int64_id”] != DBNull.Value){…}else if{}

C#/ winforms:如何最好地绑定propertygrid和System.Data.DataRow

我有几个字段的System.Data.DataRows,其中大多数只是普通类型,如int,single,string。 使用propertygrid使它们可编辑的最佳方法是什么? 无论datarow有哪种字段,它都应该自动工作,但它不应该显示所有字段。 我想提供一个应该隐藏的属性列表。 由于DataTable是自动生成的,我无法添加自定义属性,如[可浏览(假)] 非常感谢!

C#DataRow空检查

我懂了: DataTable dtEntity = CreateDataTable(); drEntity = dtEntity.NewRow(); 然后我将数据添加到行(或不)。 很多代码,真的不知道行内是否有任何东西。 取决于输入(我从一些文件导入)。 我想做的事情如下: if (drEntity`s EVERY CELL IS NOT EMPTY) { dtEntity.Rows.Add(drEntity); } else { //don’t add, will create a new one (drEntity = dtEntity.NewRow();) } 有没有一些很好的方法来检查DataRow的每个单元格是否为空? 或者我应该预约,并逐一检查它们?

为什么DataTable.Rows.ImportRow在传递新创建的DataRow时不起作用?

我需要将newRow添加到MyHandler ,它应该将该行添加到从传递给MyHandler的“scheme”内部构建的表中。 问题是当我使用dt.ImportRow(row); 它不会添加任何行。 如果我将newRow添加到t表然后执行handler.Add(t.row[t.Rows.Count – 1]); 所以它的工作原理,但我不想添加到t表。 这是我可以创建新行。 为什么dt.ImportRow(row); 不起作用? 怎么解决? { var t = new DataTable(); t.Columns.Add(new DataColumn(“Col1”, typeof(string))); t.Columns.Add(new DataColumn(“Col2”, typeof(byte))); t.Columns.Add(new DataColumn(“Col3”, typeof(byte))); t.Rows.Add(“a”, 1, 1); t.Rows.Add(“b”, 2, 2); // MyHandler build internal table from the scheme var handler = new MyHandler(t.Clone()); var newRow = t.NewRow(); row[“Col1”] = “c”; row[“Col2”] = […]

为什么ItemContainerGenerator.ContainerFromIndex()返回null以及如何避免此行为?

我正在使用此代码段来分析我在数据网格上选择的行。 for (int i = 0; i < dgDetalle.Items.Count; i++) { DataGridRow row = (DataGridRow)dgDetalle.ItemContainerGenerator.ContainerFromIndex(i); FrameworkElement cellContent = dgDetalle.Columns[0].GetCellContent(row); // … code … } 循环运行平稳,但在处理某些索引时,第二行会抛出一个空exception。 MSDN的文档说如果“如果项目没有实现”, ItemContainerGenerator.ContainerFromIndex(i)将返回null,但这无助于我猜测如何获得所需的值。 如何扫描所有行? 还有别的办法吗? UPDATE 我正在使用这个片段来读取CheckBox ,如此处所述。 所以除非我改变了很多东西,否则我根本不能使用绑定或ItemSource 。 我不能。 我正在进行代码维护。

在具有特定id的数据表中查找行

我在数据表中有两列: ID, Calls. 如何where ID = 5找到Calls的值? 5可以是任何数字,例如它。 每行都有一个唯一的ID。

从DataRow获取价值之间的差异

示例代码: DataTable table = new DataTable(); // … // insert column to table table.Columns.Add(“name”); // … // insert value to table foreach (DataRow row in table.Rows) { row[“name”]; row.Field(“name”); } 我的问题是: 使用row[“name”]和row.Field(“name”)之间有区别吗? 当然,第二种方式将价值转化为某种类型,但还有另一种区别吗? 哪种方法更好用?

为什么我不能做foreach(DataTable.Rows中的var Item)?

有什么理由不能做到以下几点: foreach (var Item in DataTable.Rows) { 而不是必须这样做 foreach (DataRow Item in DataTable.Rows) { 我原以为这是可能的,就像在其他数据类型上一样。 例如: foreach (var Employee in Staff) { // string[] Staff etc… 当我尝试第一个foreach循环时,我得到错误CS0021:无法将带有[]的索引应用于类型为’object’的表达式 。 为什么编译器不能确定.Rows返回DataRows的集合?