10 个解决方案
#1
每一列你还要绑定什么事件??
#2
当用户在datagridview某一个列,输入一个编码,希望存货名称 跟 规格 两列自动出现内容,是需要一个事件的吧
#3
可以用e.columnindex判断
然后在程序中加入事件或者是方法
然后在程序中加入事件或者是方法
#4
有没有例子哦,那个e代表什么,不好意思,我基础是差了点
#5
不明白
#6
参考下面代码在CellEndEdit这个事件里面做就可以实现你想要的:
private void GrdDantai_CellEndEdit(object sender, DataGridViewCellEventArgs e) {
//開始ログ
CmLog.Putlog(CmLogOutTo.Both, CmLogEventCd.Info, CmLogStatus.FuncIn, _myFormId, _myClassName +
":GrdDantai_CellEndEdit", "編集した後に、データの設定");
string sTotalMsg = "";
string sGrdHanteiValue = "";
//画面に編集したの内容
_DblCellEndEditValue =
Convert.ToInt64(this.GrdDantai.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString().Replace(",", ""));
//画面に編集FLGの設定
if (_DblCellBeginEditValue != _DblCellEndEditValue) {
_FormOperationMode = LnConst.FormOperationMode.Modify;
}
//画面に編集した内容を月間募集人件数実績データセットに反映する
_MdInNittBL.EditDataTable(
e.ColumnIndex,
_DblCellEndEditValue,
this.GrdDantai.Rows[e.RowIndex].Cells[1].Value,
ref _DtMonthNiitsei,
Convert.ToInt64(this.GrdDantai.Rows[e.RowIndex].Cells[4].Value.ToString().Replace(",", "")),
Convert.ToInt64(this.GrdDantai.Rows[e.RowIndex].Cells[5].Value.ToString().Replace(",", "")),
Convert.ToInt64(this.GrdDantai.Rows[e.RowIndex].Cells[6].Value.ToString().Replace(",", "")),
Convert.ToInt64(this.GrdDantai.Rows[e.RowIndex].Cells[7].Value.ToString().Replace(",", "")),
ref sGrdHanteiValue,
ref sTotalMsg);
//画面に判定のデータを変更
GrdDantai[0, e.RowIndex].Value = sGrdHanteiValue;
GrdDantai[8, e.RowIndex].Value = sTotalMsg;
//合計件数変更判定
if (e.ColumnIndex == 4) {
_KensuuGK = _KensuuGK - Convert.ToDecimal(_DblCellBeginEditValue) +
Convert.ToDecimal(_DblCellEndEditValue);
}
//合計金額変更判定
if (e.ColumnIndex == 7) {
_KingakuGK = _KingakuGK - Convert.ToDecimal(_DblCellBeginEditValue) +
Convert.ToDecimal(_DblCellEndEditValue);
}
//合計件数と合計金額のレコード長さをチェック
CheckRekoto(_KensuuGK, _KingakuGK);
//終了ログ
CmLog.Putlog(CmLogOutTo.Both, CmLogEventCd.Info, CmLogStatus.FuncOut, _myFormId, _myClassName +
":GrdDantai_CellEndEdit", "");
}
private void GrdDantai_CellEndEdit(object sender, DataGridViewCellEventArgs e) {
//開始ログ
CmLog.Putlog(CmLogOutTo.Both, CmLogEventCd.Info, CmLogStatus.FuncIn, _myFormId, _myClassName +
":GrdDantai_CellEndEdit", "編集した後に、データの設定");
string sTotalMsg = "";
string sGrdHanteiValue = "";
//画面に編集したの内容
_DblCellEndEditValue =
Convert.ToInt64(this.GrdDantai.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString().Replace(",", ""));
//画面に編集FLGの設定
if (_DblCellBeginEditValue != _DblCellEndEditValue) {
_FormOperationMode = LnConst.FormOperationMode.Modify;
}
//画面に編集した内容を月間募集人件数実績データセットに反映する
_MdInNittBL.EditDataTable(
e.ColumnIndex,
_DblCellEndEditValue,
this.GrdDantai.Rows[e.RowIndex].Cells[1].Value,
ref _DtMonthNiitsei,
Convert.ToInt64(this.GrdDantai.Rows[e.RowIndex].Cells[4].Value.ToString().Replace(",", "")),
Convert.ToInt64(this.GrdDantai.Rows[e.RowIndex].Cells[5].Value.ToString().Replace(",", "")),
Convert.ToInt64(this.GrdDantai.Rows[e.RowIndex].Cells[6].Value.ToString().Replace(",", "")),
Convert.ToInt64(this.GrdDantai.Rows[e.RowIndex].Cells[7].Value.ToString().Replace(",", "")),
ref sGrdHanteiValue,
ref sTotalMsg);
//画面に判定のデータを変更
GrdDantai[0, e.RowIndex].Value = sGrdHanteiValue;
GrdDantai[8, e.RowIndex].Value = sTotalMsg;
//合計件数変更判定
if (e.ColumnIndex == 4) {
_KensuuGK = _KensuuGK - Convert.ToDecimal(_DblCellBeginEditValue) +
Convert.ToDecimal(_DblCellEndEditValue);
}
//合計金額変更判定
if (e.ColumnIndex == 7) {
_KingakuGK = _KingakuGK - Convert.ToDecimal(_DblCellBeginEditValue) +
Convert.ToDecimal(_DblCellEndEditValue);
}
//合計件数と合計金額のレコード長さをチェック
CheckRekoto(_KensuuGK, _KingakuGK);
//終了ログ
CmLog.Putlog(CmLogOutTo.Both, CmLogEventCd.Info, CmLogStatus.FuncOut, _myFormId, _myClassName +
":GrdDantai_CellEndEdit", "");
}
#7
6楼MM是RB人????
#8
用单元格之类事件,看可以不
#9
直接在cellvaluechange事件里面写,判断是哪列可以看e.columindex
#10
不知道如何加是好,
private void Form1_Load(object sender, EventArgs e)
{
e.
}
我按下e.后面没有提示columindex, 不好意思我知道是我的错,但是我不知道该如何纠正,各位帮忙吧
private void Form1_Load(object sender, EventArgs e)
{
e.
}
我按下e.后面没有提示columindex, 不好意思我知道是我的错,但是我不知道该如何纠正,各位帮忙吧
#1
每一列你还要绑定什么事件??
#2
当用户在datagridview某一个列,输入一个编码,希望存货名称 跟 规格 两列自动出现内容,是需要一个事件的吧
#3
可以用e.columnindex判断
然后在程序中加入事件或者是方法
然后在程序中加入事件或者是方法
#4
有没有例子哦,那个e代表什么,不好意思,我基础是差了点
#5
不明白
#6
参考下面代码在CellEndEdit这个事件里面做就可以实现你想要的:
private void GrdDantai_CellEndEdit(object sender, DataGridViewCellEventArgs e) {
//開始ログ
CmLog.Putlog(CmLogOutTo.Both, CmLogEventCd.Info, CmLogStatus.FuncIn, _myFormId, _myClassName +
":GrdDantai_CellEndEdit", "編集した後に、データの設定");
string sTotalMsg = "";
string sGrdHanteiValue = "";
//画面に編集したの内容
_DblCellEndEditValue =
Convert.ToInt64(this.GrdDantai.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString().Replace(",", ""));
//画面に編集FLGの設定
if (_DblCellBeginEditValue != _DblCellEndEditValue) {
_FormOperationMode = LnConst.FormOperationMode.Modify;
}
//画面に編集した内容を月間募集人件数実績データセットに反映する
_MdInNittBL.EditDataTable(
e.ColumnIndex,
_DblCellEndEditValue,
this.GrdDantai.Rows[e.RowIndex].Cells[1].Value,
ref _DtMonthNiitsei,
Convert.ToInt64(this.GrdDantai.Rows[e.RowIndex].Cells[4].Value.ToString().Replace(",", "")),
Convert.ToInt64(this.GrdDantai.Rows[e.RowIndex].Cells[5].Value.ToString().Replace(",", "")),
Convert.ToInt64(this.GrdDantai.Rows[e.RowIndex].Cells[6].Value.ToString().Replace(",", "")),
Convert.ToInt64(this.GrdDantai.Rows[e.RowIndex].Cells[7].Value.ToString().Replace(",", "")),
ref sGrdHanteiValue,
ref sTotalMsg);
//画面に判定のデータを変更
GrdDantai[0, e.RowIndex].Value = sGrdHanteiValue;
GrdDantai[8, e.RowIndex].Value = sTotalMsg;
//合計件数変更判定
if (e.ColumnIndex == 4) {
_KensuuGK = _KensuuGK - Convert.ToDecimal(_DblCellBeginEditValue) +
Convert.ToDecimal(_DblCellEndEditValue);
}
//合計金額変更判定
if (e.ColumnIndex == 7) {
_KingakuGK = _KingakuGK - Convert.ToDecimal(_DblCellBeginEditValue) +
Convert.ToDecimal(_DblCellEndEditValue);
}
//合計件数と合計金額のレコード長さをチェック
CheckRekoto(_KensuuGK, _KingakuGK);
//終了ログ
CmLog.Putlog(CmLogOutTo.Both, CmLogEventCd.Info, CmLogStatus.FuncOut, _myFormId, _myClassName +
":GrdDantai_CellEndEdit", "");
}
private void GrdDantai_CellEndEdit(object sender, DataGridViewCellEventArgs e) {
//開始ログ
CmLog.Putlog(CmLogOutTo.Both, CmLogEventCd.Info, CmLogStatus.FuncIn, _myFormId, _myClassName +
":GrdDantai_CellEndEdit", "編集した後に、データの設定");
string sTotalMsg = "";
string sGrdHanteiValue = "";
//画面に編集したの内容
_DblCellEndEditValue =
Convert.ToInt64(this.GrdDantai.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString().Replace(",", ""));
//画面に編集FLGの設定
if (_DblCellBeginEditValue != _DblCellEndEditValue) {
_FormOperationMode = LnConst.FormOperationMode.Modify;
}
//画面に編集した内容を月間募集人件数実績データセットに反映する
_MdInNittBL.EditDataTable(
e.ColumnIndex,
_DblCellEndEditValue,
this.GrdDantai.Rows[e.RowIndex].Cells[1].Value,
ref _DtMonthNiitsei,
Convert.ToInt64(this.GrdDantai.Rows[e.RowIndex].Cells[4].Value.ToString().Replace(",", "")),
Convert.ToInt64(this.GrdDantai.Rows[e.RowIndex].Cells[5].Value.ToString().Replace(",", "")),
Convert.ToInt64(this.GrdDantai.Rows[e.RowIndex].Cells[6].Value.ToString().Replace(",", "")),
Convert.ToInt64(this.GrdDantai.Rows[e.RowIndex].Cells[7].Value.ToString().Replace(",", "")),
ref sGrdHanteiValue,
ref sTotalMsg);
//画面に判定のデータを変更
GrdDantai[0, e.RowIndex].Value = sGrdHanteiValue;
GrdDantai[8, e.RowIndex].Value = sTotalMsg;
//合計件数変更判定
if (e.ColumnIndex == 4) {
_KensuuGK = _KensuuGK - Convert.ToDecimal(_DblCellBeginEditValue) +
Convert.ToDecimal(_DblCellEndEditValue);
}
//合計金額変更判定
if (e.ColumnIndex == 7) {
_KingakuGK = _KingakuGK - Convert.ToDecimal(_DblCellBeginEditValue) +
Convert.ToDecimal(_DblCellEndEditValue);
}
//合計件数と合計金額のレコード長さをチェック
CheckRekoto(_KensuuGK, _KingakuGK);
//終了ログ
CmLog.Putlog(CmLogOutTo.Both, CmLogEventCd.Info, CmLogStatus.FuncOut, _myFormId, _myClassName +
":GrdDantai_CellEndEdit", "");
}
#7
6楼MM是RB人????
#8
用单元格之类事件,看可以不
#9
直接在cellvaluechange事件里面写,判断是哪列可以看e.columindex
#10
不知道如何加是好,
private void Form1_Load(object sender, EventArgs e)
{
e.
}
我按下e.后面没有提示columindex, 不好意思我知道是我的错,但是我不知道该如何纠正,各位帮忙吧
private void Form1_Load(object sender, EventArgs e)
{
e.
}
我按下e.后面没有提示columindex, 不好意思我知道是我的错,但是我不知道该如何纠正,各位帮忙吧