Я пытаюсь создать gridcontrol с buttonedit в одном из столбцов. Когда пользователь нажимает кнопку редактирования, появляется всплывающая форма для выбора продукта. Когда выбор сделан во всплывающем окне, он возвращает DataRow из выделения в основную сетку, как показано ниже.Как использовать buttonedit в devexpress gridcontrol
, но когда столбец теряет фокус, значение, которое я написал в столбце, исчезает.
вот мой код, который создает данные в GridControl в и событие щелчка buttonedit в.
private void FrmSiparisNew_Load(object sender, EventArgs e)
{
dt = new DataTable();
dt.Columns.Add("MALZEME_KODU",typeof(string));
dt.Columns.Add("MALZEME_ACIKLAMA", typeof(string));
dt.Columns.Add("ADET", typeof(decimal));
dt.Columns.Add("BIRIM", typeof(string));
dt.Columns.Add("FIYAT", typeof(decimal));
dt.Columns.Add("KUR", typeof(string));
dt.Columns.Add("TUTAR", typeof(decimal));
DataRow dr = dt.NewRow();
dt.Rows.Add(dr);
gc.DataSource = dt;
}
private void repositoryItemButtonEditMalzemeKodu_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
{
FrmProducts frm = new FrmProducts(dt_products);
frm.ShowDialog();
DataRow dr_return = frm.dr;
ButtonEdit buttonEdit = (sender as ButtonEdit);
buttonEdit.Text = dr_return["URUNKOD"].ToString();
}
Почему значение исчезает? должен ли я сначала заполнить данные и связать его снова? Как я могу это исправить?
Как и toddmo, вам необходимо обновить базовый источник данных dt, а затем использовать gc.RefreshDatasource(). Вероятно, нет необходимости обновлять элемент управления ButtonEdit. (У dt действительно есть только одна строка? Если нет, вы можете определить правильную строку для обновления с e.RowNumber или что-то подобное - сейчас у меня нет аналогичной программы передо мной.) – RenniePet