0
Infragistics Windows 편집 가능한 그리드 및 winforms 버튼이 포함 된 화면이 있습니다. Enter 키에서 새 행이 울트라 그리드 눈금에 추가됩니다. 대신 나는 winforms 버튼 이벤트를 해고해야합니다.Infragistics 편집 가능한 Wingrid에 키 입력
탭에서만 다음 셀로 이동해야하며 마지막 셀에 도달하면 다음 행으로 이동해야합니다.
Infragistics Windows 편집 가능한 그리드 및 winforms 버튼이 포함 된 화면이 있습니다. Enter 키에서 새 행이 울트라 그리드 눈금에 추가됩니다. 대신 나는 winforms 버튼 이벤트를 해고해야합니다.Infragistics 편집 가능한 Wingrid에 키 입력
탭에서만 다음 셀로 이동해야하며 마지막 셀에 도달하면 다음 행으로 이동해야합니다.
UltraGrid의 BeforeRowUpdate 이벤트를 처리하고 새 행 템플리트가 커밋되기 전에 UltraButton의 수행 수행을 호출 할 수 있습니다.
public partial class Form1 : Form
{
private bool _IsEnterKeyDown = false;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
ultraGrid1.KeyDown += new KeyEventHandler(ultraGrid1_KeyDown);
ultraGrid1.BeforeRowUpdate += new CancelableRowEventHandler(ultraGrid1_BeforeRowUpdate);
ultraGrid1.InitializeLayout += new Infragistics.Win.UltraWinGrid.InitializeLayoutEventHandler(ultraGrid1_InitializeLayout);
ultraGrid1.DataSource = GetDataTable();
}
private void ultraGrid1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyData == Keys.Enter)
{
_IsEnterKeyDown = true;
}
}
private void ultraGrid1_BeforeRowUpdate(object sender, CancelableRowEventArgs e)
{
if (e.Row.IsAddRow && _IsEnterKeyDown)
{
_IsEnterKeyDown = false;
ultraButton1.PerformClick();
}
}
private void ultraButton1_Click(object sender, EventArgs e)
{
MessageBox.Show("Button click event raised!");
}
private void ultraGrid1_InitializeLayout(object sender, Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs e)
{
e.Layout.Override.AllowAddNew = AllowAddNew.TemplateOnBottom;
}
private DataTable GetDataTable(int rows = 10)
{
DataTable table = new DataTable("Table1");
table.Columns.Add("Boolean column", typeof(bool));
table.Columns.Add("Integer column", typeof(int));
table.Columns.Add("DateTime column", typeof(DateTime));
table.Columns.Add("String column", typeof(string));
for (int i = 0; i < rows; i++)
{
DataRow row = table.NewRow();
row["Boolean column"] = i % 2 == 0 ? true : false;
row["Integer column"] = i;
row["String column"] = "text";
row["DateTime column"] = DateTime.Today.AddDays(i);
table.Rows.Add(row);
}
return table;
}
}