如何将值设置为gridview列?事情是手动添加了列,而不是从数据库添加。我想要的是当核对表值为1
cek22
列获得ticked
时,当值为0
时,cek22
列为unticked
。我使用了devexpress。
我使用的代码示例:
public void abc()
{
//select query in here
gridControl1.DataSource = dt;
//iam adding a column here
dt.Columns.Add("cek22",typeof(bool));
}
答案 0 :(得分:1)
如果您的列是手动添加的,那么您的列在未绑定模式下工作。所以,你可以使用它的unbound expression。如果您要更新checklist
的{{1}}列,则可以使用cel22
活动。
这是一个例子:
CellValueChanging
答案 1 :(得分:0)
DevExpress Grid可与DataSource配合使用。因此,操纵您的DataSource并将其填充到您的网格中。 GridView将显示此数据。因此,如果您想要一个检查字段,我建议您使用bool属性扩展您的DataSource。我现在不使用您正在使用的DataSource,但如果有任何bool值,devexpress会自动为您添加一个复选框列。如果要将自定义列链接到DataSource中的bool值,则需要将Column的FieldName属性设置为PropertyName。
如果您的清单属性为0,则您的布尔属性返回false,反之亦然。这是我猜的最简单的解决方案。假设您正在使用IList作为DataSource。
小例子:
public class MyDataSource()
{
public int Checklist { get; set; }
public bool Cek22
{
get { return Checklist == 1; }
}
}
private void ExplainADevExpressGrid()
{
List<MyDataSource> dataSource = new List<MyDataSource>();
dataSource.Add(new MyDataSource());
myGrid.DataSource = dataSource;
}
答案 2 :(得分:0)
或者,将列添加为数据源的一部分并有条件地填充它。
private void Form1_Load(object sender, EventArgs e)
{
DataTable dataTable = GetDataTable(10);
gridControl1.DataSource = dataTable;
}
private DataTable GetDataTable(int rows = 1)
{
DataTable table = new DataTable("Table1");
table.Columns.Add("checklist", typeof(int));
table.Columns.Add("cek22", typeof(bool));
for (int i = 0; i < rows; i++)
{
DataRow row = table.NewRow();
row["checklist"] = i % 2 == 0 ? 0 : 1;
row["cek22"] = ((int)row["checklist"]) == 0 ? false : true;
table.Rows.Add(row);
}
return table;
}