我的问题是,由于某种原因,一个简单的任务无效。 dataGridView绑定到DB,我试图将值类型字符串分配给string
类型的列enter code here //the initialization of the DataGridView
bindingSourceSchema.DataSource = null;
dgwSchema.Columns["colID"].DataPropertyName = "APP_ID";
dgwSchema.Columns["colName"].DataPropertyName = "DESCRIPTION";
dgwSchema.Columns["colTextbox"].DataPropertyName = "APP_ARGS";
dgwSchema.Columns["colTextbox"].HeaderText = "Parameters";
dgwSchema.Columns["colLink"].DataPropertyName = "APP_PATH";
dgwSchema.Columns["colLink"].HeaderText = "Path";
DataGridViewLinkColumn colLink = (DataGridViewLinkColumn)dgwSchema.Columns["colLink"];
colLink.UseColumnTextForLinkValue = true;
colLink.Text = "Edit";
bindingSourceSchema.DataSource = SchemaDB.GetGenericApps();//the assignment
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
dgwSchema.CurrentRow.Cells["colLink"].Value = openFileDialog.FileName;
// !! ?? dgwSchema.CurrentRow.Cells["colLink"].Value STAYS with parameter "Edit"
}
由于 的Eyal
答案 0 :(得分:0)
运行此代码的位置可能会出现问题。这是在PageLoad事件中吗?执行此操作后,请确保网格未再次绑定。如果在分配后设置断点,调试器会向您显示什么?
答案 1 :(得分:0)
原因是以下属性设置为true。
colLink.UseColumnTextForLinkValue = true;
将其设为false。然后它将解决您的问题。