私はgrid control
を20行3列に設計しました。 最初の列にはハードコーディングされた文字列が入りました.2列目にはcheckBox
をチェックして、ユーザーが修正できるようにチェックされていません。QueryCellInfo
イベントの下にコードが書かれていますが、CheckBoxをチェックしてチェックしないようにして、ユーザーがGrid Controlでそのチェックボックスを変更できるようにするにはどうすればよいですか?
どうすれば完成できますか?
お勧めです。以下は
はコードの私の一部です:あなたは、手動で、それはあなたが望むように動作しますグリッドのプロパティを手動でチェックボックスとして列を設定し、列のプロパティを定義し使用してこれを行うことができます
public partial class Form1 : Form
{
System.Windows.Forms.Timer t1 = new System.Windows.Forms.Timer();
private Syncfusion.Windows.Forms.Grid.GridControl gridControlDownloadScript = new Syncfusion.Windows.Forms.Grid.GridControl();
public Form1()
{
// this.gridControl1.GridVisualStyles = Syncfusion.Windows.Forms.GridVisualStyles.Metro;
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
gridControl1.Model.RowCount = 20;
gridControl1.Model.ColCount = 3;
this.gridControl1.VScrollPixel = true;
this.gridControl1.HScrollPixel = true;
this.gridControl1[0, 1].Text = "EMPLOYEE";
this.gridControl1[0, 2].Text = "CHECKBOX";
this.gridControl1[0, 3].Text = " ";
this.gridControl1[1, 1].Text = "Rahul Verma";
this.gridControl1[2, 1].Text = "MAnish Desai";
this.gridControl1[3, 1].Text = "Mohan Pothala";
this.gridControl1[4, 1].Text = "Dhanraj Dhoke";
gridControl1.Model.RowCount = 20;
gridControl1.Model.ColCount = 3;
gridControl1.QueryCellInfo += new GridQueryCellInfoEventHandler(GridQueryCellInfo);
gridControl1.SaveCellInfo += new GridSaveCellInfoEventHandler(GridSaveCellInfo);
gridControl1.QueryRowCount += gridControl1_QueryRowCount;
gridControl1.QueryColCount += gridControl1_QueryColCount;
this.gridControl1.HScrollBehavior = GridScrollbarMode.Disabled;
this.gridControl1.VScrollBehavior = GridScrollbarMode.Disabled;
this.gridControl1.ColWidths.ResizeToFit(GridRangeInfo.Cols(1, 1));
this.gridControl1.RowHeights.ResizeToFit(GridRangeInfo.Rows(1, 20));
t1.Interval = 250;
t1.Tick += new EventHandler(IncreaseProgressBar);
}
private void CellClick(object sender, GridCellClickEventArgs e)
{
}
private void IncreaseProgressBar(object sender, EventArgs e)
{
progressBar1.Increment(5);
progressBar1.Minimum = 0;
progressBar1.Maximum = 100;
lblProgress.Text = progressBar1.Value.ToString() + "%";
if (progressBar1.Value == progressBar1.Maximum)
t1.Stop();
}
private void gridControl1_QueryColCount(object sender, GridRowColCountEventArgs e)
{
}
private void gridControl1_QueryRowCount(object sender, GridRowColCountEventArgs e)
{
}
private void GridQueryCellInfo(object sender, GridQueryCellInfoEventArgs e)
{
int i = 0;
while (i++ < 4)
{
if (i == 0 || i == 1 || i == 4 || i == 6 || i == 9 || i == 11 || i == 14)
{
continue;
}
else if (e.RowIndex == i && e.ColIndex == 2)
{
e.Style.CellType = GridCellTypeName.CheckBox;
e.Style.Description = "";
this.gridControl1[i, 2].CheckBoxOptions = new GridCheckBoxCellInfo("True", "False", string.Empty, false);
e.Style.CheckBoxOptions.CheckedValue = "true";
e.Style.CellValue = "true";
}
}
if (e.RowIndex > 0 && e.ColIndex > 0)
{
}
}
使用するテクノロジは何ですか?フォームを勝つ? WPF?また、「オンデマンド」とは、ユーザーがそれらを正しく変更してほしいということです。 – Emad
@Emad、私はwin forms.yesを使用しています。ユーザーがそれらを変更してもらいたいです。 ごめんなさい。 –