如果添加行 DataTable
DataRow row = datatable1.NewRow();
row["column2"]="column2";
row["column6"]="column6";
datatable1.Rows.Add(row);
Run Code Online (Sandbox Code Playgroud)
怎么样DataGridView
?
我想在datagridview中更改特定行的颜色.当columncell 7的值小于columncell 10中的值时,该行应更改为红色.有关如何完成此操作的任何建议吗?
我正在使用C#开发一个Windows应用程序.我DataGridView
用来显示数据.我在其中添加了一个按钮列.我想知道如何在DataGridView中处理该按钮上的click事件.
我在.NET winform应用程序中有一个datagridview.我想右键单击一行,弹出一个菜单.然后我想选择复制,验证等内容
如何制作A)弹出菜单B)找到右键单击的行.我知道我可以使用selectedIndex,但我应该能够右键单击而不更改所选内容?现在我可以使用选定的索引,但如果有办法获取数据而不改变选择的内容那么这将是有用的.
我在Windows窗体上填充DataGridView控件(C#2.0而不是WPF).
我的目标是显示一个整齐地填充所有可用宽度的网格 - 即右侧没有未使用的(深灰色)区域,并根据其包含的数据适当地调整每列的大小,但也允许用户调整任何列的大小他们喜欢.
我试图通过将每列的AutoSizeMode设置为DataGridViewAutoSizeColumnMode.AllCells来实现此目的,除了我设置为DataGridViewAutoSizeColumnMode.Fill的列之一,以确保网格的整个区域整齐地填充数据.(我不介意当用户尝试调整此列的大小时,它会弹回一个确保始终使用水平空间的大小.)
但是,正如我所提到的,一旦加载,我想允许用户调整列的大小以满足他们自己的要求 - 在为每个列设置这些AutoSizeMode值时,用户就无法再调整这些列的大小.
我试过没有设置允许调整大小的所有列的AutoSizeMode但是没有根据单元格包含的数据设置初始大小.加载数据后将网格的AutoSizeMode更改回"未设置"时会出现相同的结果.
是否有一个我在这里缺少的设置允许自动设置默认列宽和用户调整大小,还是在填充DataGridView控件时我必须使用另一种技术?
我已经将我的WPF Datagrid的itemsource设置为从我的DAL返回的对象列表.我还添加了一个包含按钮的额外列,下面是xaml.
<toolkit:DataGridTemplateColumn MinWidth="100" Header="View">
<toolkit:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Click="Button_Click">View Details</Button>
</DataTemplate>
</toolkit:DataGridTemplateColumn.CellTemplate>
</toolkit:DataGridTemplateColumn>
Run Code Online (Sandbox Code Playgroud)
这很好.但是在Button_Click方法上,有什么方法可以获取按钮所在的数据网格上的行?更具体地说,我的对象的一个属性是"Id",我希望能够将它传递到事件处理程序中另一个表单的构造函数中.
private void Button_Click(object sender, RoutedEventArgs e)
{
//I need to know which row this button is on so I can retrieve the "id"
}
Run Code Online (Sandbox Code Playgroud)
也许我在我的xaml中需要额外的东西,或者我可能会以迂回的方式进行此操作?任何帮助/建议表示赞赏.
如何DataGridView
在运行时以编程方式选择特定范围的行?
我想知道在使用datagridview控件时是否可以删除第一列之前看起来像列的东西.我认为它用于选择行但不确定它的名称.
我正在使用C#Visual Studio 2010开发用户控件 - 一种用于过滤datagridview的"快速查找"文本框.它应该适用于3种类型的datagridview数据源:DataTable,DataBinding和DataSet.我的问题是从DataSet对象过滤DataTable,它显示在DataGridView上.
可能有3个案例(标准WinForm应用程序的示例,其中包含DataGridView和TextBox) - 前2个工作正常,我遇到第3个问题:
1. datagridview.DataSource = dataTable:它可以工作,
所以我可以通过设置过滤:dataTable.DefaultView.RowFilter ="country LIKE'%s%'";
DataTable dt = new DataTable();
private void Form1_Load(object sender, EventArgs e)
{
dt.Columns.Add("id", typeof(int));
dt.Columns.Add("country", typeof(string));
dt.Rows.Add(new object[] { 1, "Belgium" });
dt.Rows.Add(new object[] { 2, "France" });
dt.Rows.Add(new object[] { 3, "Germany" });
dt.Rows.Add(new object[] { 4, "Spain" });
dt.Rows.Add(new object[] { 5, "Switzerland" });
dt.Rows.Add(new object[] { 6, "United Kingdom" });
dataGridView1.DataSource = dt;
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
MessageBox.Show("DataSource …
Run Code Online (Sandbox Code Playgroud) 就这么简单.如何获取的当前选择的指数Row
的DataGridView
?我不想要Row
对象,我想要索引(0 .. n).
datagridview ×10
c# ×9
winforms ×9
.net ×3
appearance ×1
contextmenu ×1
datagrid ×1
filter ×1
right-click ×1
row ×1
wpf ×1
xaml ×1