我有一个简单的数据结构类:
public class Client {
public String name {set; get;}
public String claim_number {set; get;}
}
Run Code Online (Sandbox Code Playgroud)
我正在加入一个DataGrid:
this.data_grid_clients.ItemSource = this.clients;
Run Code Online (Sandbox Code Playgroud)
我想更改列标题.即:声明号码为"索赔号".我知道这可以通过执行以下操作手动创建列来完成:
this.data_grid_clients.Columns[0].Header = "Claim Number"
Run Code Online (Sandbox Code Playgroud)
但是,Columns在自动生成列时,该属性为空.有没有办法重命名列,还是我必须手动生成列?
我仍然在操纵细胞背景,所以我问了一个新问题.
用户"HB"写道我可以在AutoGeneratingColumn事件期间实际设置单元格样式- 根据值更改DataGrid单元格颜色.问题是我不知道该怎么做.
我想要的:根据每个单元格的值
设置不同的背景颜色.如果值是null我也希望它不可点击(我猜可以聚焦).
我有/我想做什么:
private void mydatagrid_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e)
{
foreach (Cell cell in e.Column)
{
if (cell.Value < 1)
{
cell.Background = Color.Black;
cell.isFocusable = false;
}
else
{
cell.Background = Color.Pink;
}
}
}
Run Code Online (Sandbox Code Playgroud)
这只是伪代码.在列自动生成期间是否可以这样做,如果是这样,我如何编辑我的代码以使其有效?
我读到了有关值转换器的内容,但我想知道它是否可以通过编程方式进行,而无需编写XAML.
请理解我还是C#/ WPF/DataGrid的初学者.
我用了我接受的答案.把它放入
<Window.Resources>
<local:ValueColorConverter x:Key="colorConverter"/>
<Style x:Key="DataGridCellStyle1" TargetType="{x:Type DataGridCell}">
<Setter Property="Padding" Value="5"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type DataGridCell}">
<Border Padding="{TemplateBinding Padding}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" SnapsToDevicePixels="True"> …Run Code Online (Sandbox Code Playgroud) 我只是在学习WPF,并且我将一个数据源表格放到一个窗口上,该窗口为每列生成XAML.
其中一些列的名称导致以下内容:
<DataGridTextColumn x:Name="_Rev_UnitColumn" Binding="{Binding Path=Rev/Unit}" Header="Rev/Unit" Width="SizeToHeader" />
Run Code Online (Sandbox Code Playgroud)
这会导致列空白(像我一样).
请帮助我如何访问devexpress中的AutoGenerateColumns属性,GridControl就像 datagridview在正常控制中一样winform.
.Net Core 2.2 Identity 框架具有字符串主键,它是一个自动生成的 GUID。我的问题是如何使用 Entity Framework 2.2 自动生成 STRING 主键?
primary-key autogeneratecolumn asp.net-identity entity-framework-core .net-core
我的表结构如下,
CREATE TABLE tbl_Info
(
[SSEID] BIGINT NOT NULL IDENTITY(1,1),
[ShortenKey] AS ConvertToBase([SSEID]),
[Title] VARCHAR(500) NULL,
)
Run Code Online (Sandbox Code Playgroud)
ConvertToBase 跟随功能
CREATE FUNCTION ConvertToBase(@Number BIGINT)
RETURNS VARCHAR(15)
AS
BEGIN
// implementation
END
Run Code Online (Sandbox Code Playgroud)
我需要在INSERT查询后获取生成的[ShortenKey]值。这该怎么做 ?
sql-server calculated-columns sql-function autogeneratecolumn
我正在将XML文件绑定到DataGridView.我不希望自动生成列,实际上我想自己生成它们.有没有办法关闭自动生成列功能,并能够以编程方式自己创建列?
c# ×4
wpf ×3
.net-core ×1
background ×1
data-binding ×1
datagrid ×1
datagridview ×1
devexpress ×1
gridcontrol ×1
primary-key ×1
rename ×1
sql-function ×1
sql-server ×1
winforms ×1
wpfdatagrid ×1